home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
ths103.zip
/
THESEUS.TXT
< prev
next >
Wrap
Text File
|
1993-01-02
|
200KB
|
4,608 lines
┌────────────────────────────────────────────────────────────────┐
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ ╔═══╦═══╗ ╦ ╦ ╔═════ ╔═════╗ ╔═════ ╦ ╦ ╔═════╗ │ │
│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │
│ │ ║ ╠═════╣ ╠══ ╚═════╗ ╠══ ║ ║ ╚═════╗ │ │
│ │ ║ ║ ║ ║ ║ ║ ║ ║ ║ │ │
│ │ ╩ ╩ ╩ ╚═════ ╚═════╝ ╚═════ ╚═════╝ ╚═════╝ ─┘ │
│ └──────────────────────────────────────────────────────────────┘
└────────────────────────────────────────────────────────────────┐
┌──────────────────────────────────────────────────────────────┐ │
│ ┌──────────────────────────────────────────────────────────┐ │ │
│ │ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─> the programmable ┌────────────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ file finder └────────────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ and processor ┌────────────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ └────────────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ version 1.03 ┌────────────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ └────────────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ (C) Giuseppe Maxia ┌────────────────┘ │ │
│ └─┘ └─┘ └─┘ └─┘ └─┘ 1992-1993 └──────────────────┘ │
└────────────────────────────────────────────────────────────────┘
So welcome to the machine.
Pink Floyd "Wish you were here"
THESEUS 1.03 - User manual and reference - i
ACKNOWLEDGEMENTS
MS-DOS is a trademark of Microsoft Corp.
PKZIP, PKUNZIP and PKSFX are trademarks of PkWare Inc.
LHARC and LHA are trademarks of Haruyasu Yoshizaki.
UNIX is a trademark of Bell laboratories.
IBM is a trademark of IBM Corporate.
TURBO PASCAL and BORLAND C++ are trademarks of Borland
International.
Object Professional is a mark of TurboPower Software.
4DOS is a trademark of J.P. Software.
DEsqView is a trademark of QuarterDeck Inc.
ARJ is a trademark of Robert K. Jung.
Thanks to Pietro Polignano and Antonello Scardigli, for
beta-testing the program. Thanks to Gianlazzaro Sanna
for proofreading.
THESEUS 1.03 - User manual and reference - ii
Table of contents
=================
License terms ............................... 1
Disclaimer .................................. 1
System requirements ......................... 2
Why Theseus ................................. 2
General concepts ............................ 2
Getting Started ............................. 3
Language components ......................... 7
Language Syntax ............................. 10
Expressions ................................. 10
Conditions .................................. 11
Compound conditions ......................... 11
Identifiers ................................. 11
Operators ................................... 11
Abbreviations ............................... 11
Values ...................................... 11
Joints ...................................... 13
Modifiers ................................... 13
Constants ................................... 14
Script files ................................ 14
Command line arguments ...................... 15
Actions ..................................... 15
Getting help ................................ 15
Stopping the program ........................ 15
Case ........................................ 15
The default script .......................... 16
Script files and registered version ......... 16
Using THESEUS with 4Dos ..................... 16
Performing commands ......................... 17
Working with compressed archives ............ 19
Customizing the program ...................... 19
Changing default options ............... 19
Enabling / disabling identifiers ....... 20
Technical notes ............................. 21
About the Author ............................. 22
Reference ................................... 23
Symbols ..................................... 23
" .......... 23 ( .......... 23
) .......... 23 = .......... 24
< .......... 24 > .......... 24
>= .......... 24 <= .......... 24
<> .......... 25 && .......... 25
|| .......... 25 // .......... 25
[ .......... 26 ] .......... 26
THESEUS 1.03 - User manual and reference - iii
Identifiers ................................. 27
Attribute .......... 27 BegSearch .......... 27
BegSearchUC .......... 27 ComprCRC .......... 27
ComprSize .......... 28 Confirm .......... 28
Date .......... 29 Day .......... 29
EndName .......... 30 Extern .......... 30
ExternD .......... 32 Month .......... 32
Name .......... 33 NameCont .......... 33
NameLen .......... 34 Ratio .......... 34
Search .......... 35 SearchUC .......... 36
Size .......... 36 Soundex .......... 36
Time .......... 37 WeekDay .......... 37
Year .......... 37
Modifiers .................................... 38
AllCmp .......... 38 AllDrives .......... 38
ArcExclude .......... 38 ArcNames .......... 39
ArcScan .......... 39 ArjExclude .......... 39
ArjNames .......... 39 ArjScan .......... 40
BegExec .......... 40 BegExecD .......... 40
Clone .......... 41 CmpOnly .......... 42
ColorOutput .......... 42 Const .......... 42
ConstChar .......... 43 DaysBack .......... 43
DefExt .......... 44 DefScrName .......... 44
Delete .......... 44 DirColorB .......... 45
DirColorF .......... 45 Disable .......... 45
Drives .......... 46 DrivesExcl .......... 46
Enable .......... 46 EndExec .......... 47
EndExecD .......... 47 Exec .......... 48
ExecD .......... 48 ExpandArgs .......... 48
Explain .......... 49 ExplColorB .......... 49
ExplColorF .......... 50 FileColorB .......... 50
FileColorF .......... 50 FileHeader .......... 51
GoTo .......... 51 Help .......... 51
InDateMask .......... 52 InTimeMask .......... 52
LzhExclude .......... 53 LzhNames .......... 53
LzhScan .......... 53 NoShow .......... 54
Number .......... 54 OutDateMask .......... 55
OutDirLen .......... 55 OutExtLen .......... 55
OutNameLen .......... 56 OutPathLen .......... 56
OutCmpMask .......... 56 OutputMask .......... 57
OutputFile .......... 58 OutSepDir .......... 58
OutSizeMask .......... 59 OutTimeMask .......... 60
Path .......... 60 PathExcl .......... 60
Pause .......... 61 RecurseDir .......... 61
ReverseDir .......... 62 Status .......... 63
SwitchOFF .......... 63 SwitchON .......... 64
Totals .......... 64 ZipExclude .......... 64
ZipNames .......... 65 ZipScan .......... 65
THESEUS 1.03 - User manual and reference - iv
Constants ................................... 67
@0, @1...@2 .......... 67 @2daysAgo .......... 67
@Black...@White .......... 68 @CurrentPath .......... 68
@Day .......... 68 @MidNight .......... 68
@Month .......... 69 @Noon .......... 69
@Now .......... 69 @OneAM .......... 69
@OutCmpMask .......... 69 @OutputMask .......... 70
@TeaTime .......... 70 @Today .......... 70
@WkDay .......... 70 @Year .......... 70
@Yesterday .......... 71
Index ............................. 72
THESEUS 1.03 - User manual and reference - page 1
License terms for personal use.
===============================
THESEUS is marketed as a shareware program. This
marketing method gives the user the opportunity to
evaluate the program before actually registering the
software. If, after a two week evaluation period you
determine that THESEUS meets your needs, you are required
to register your copy of THESEUS with Giuseppe Maxia.
To register your copy of THESEUS, please fill in the
registration form that is distributed with the THESEUS
package, include your payment and mail to:
Giuseppe Maxia
Via Olanda 13
09045 Quartu S.E. - CA
Italy
After registering, you will receive a full featured
version of the package, and you will be entitled to
receive a major upgrade at shipping price only.
The registered version has more features than the
shareware release.
Source code availability.
Please contact me if you are interested in buying the
source code of this program (See technical notes for
details.)
Disclaimer
==========
This program is released "as is."
The author disclaims all warranties, expressed or implied. The
author will assume no liability for damages either from the
direct use of this product or as a consequence of the use of
this product.
************************ WARNING! ***********************
*********************************************************
** Using external programs applied to the huge power **
** of THESEUS may be dangerous if you don't know **
** exactly what you are doing. **
*********************************************************
************************ WARNING! ***********************
THESEUS 1.03 - User manual and reference - page 2
System requirements
===================
PC IBM or fully compatible
MS DOS 3.0 or higher
at least 256 Kb of RAM
Why Theseus.
============
According with the Greek mythology, in the ancient isle of
Crete, it was a monster, half man and half bull, named the
Minotaur (the bull of Minos). This monster was in the
Labyrinth built by the architect Daedalus. To avenge the death
of a son, the king Minos demanded that seven Athenian youths
and seven maidens should be sent every ninth year to be
devoured by the monster. After three sacrifices, the Athenian
hero Theseus came into the labyrinth, killed the Minotaur, and
he went out.
Sometimes, our disk is like a Labyrinth, containing a monster
which devoures our time and patience when we are searching for
a file.
If you have a Minotaur in your disk, don't make sacrifices.
Just call Theseus!
General concepts
================
THESEUS is a script oriented file processor, but unlike other
similar programs it can use scripts inserted in the command line.
It is not simply a file finder. You can use it as a file finder,
but with it you can also do a lot of things that you cannot do
with other known utilities.
THESEUS is a file searcher that understands a simple formal
language (although near to natural language) and allows you to
insert search expressions of any complexity. You can search for
file names, for date or size, and you can make a query of some
things that you consider natural, but are not explicit for the
operating system. Then, you can ask for a file modified in a
Monday of the first 15 days of each month between 2:00pm and
3:00pm or between 9:00am and 11:00am , with only A LINE of
command!
In addition, you can :
- search into selected compressed files (ZIP, LZH, ARC and ARJ);
- define ONE OR MORE COMMANDS that will be executed for each file
found with optional confirmation;
- define commands to execute before start search and after the
search is done;
- modify the look of the file display;
THESEUS 1.03 - User manual and reference - page 3
- search for file contents;
- optionally store the changes to the executable file, in order
to obtain a fully customized utility;
- choose multiple disks and/or paths to search;
- exclude multiple disks and/or paths from search;
- use environment variables as value for conditions;
- delete found files;
- get the explanation of what your instruction means for the
program;
- get the number of files searched and found;
- go to the directory that contains the file retrieved;
- process a file that contains long conditions and commands.
THESEUS can run under a multi tasking environment such as
DesqView, without side effects.
In other words you can perform a very sophisticated search, while
maintaining a high degree of control over your jobs in the disk.
Getting started
===============
OK. Let's suppose that you want to search all the files that
you have modified today. To do this, at the DOS prompt, enter
the following line:
THESEUS DATE=@TODAY
On the screen you'll get a list of all the files modified on
the current date. But let's suppose that you want to save these
files on a disk. That's easy! See:
THESEUS execd="copy $FN A:" DATE=@today and attribute NE d
This command will find all the files created or modified on the
given date, and whose attribute is different from D
(directory,) and for each file it calls the command copy
FullFileName ($FN) to target a: The check for attribute is
necessary to include only files, not directories, in the
process.
Well done. But, you are more demanding, and you want to do the
same thing using your favorite file compressor. To achieve
this, you have several choices:
1.
THESEUS ex="pkzip.exe -u A:MYSAVE $FN" DA=@today AND AT NE d
2.
THESEUS osd om="$FN" DATE=@today AND at NE d > FILES.LST
PKZIP -u a:MYSAVE @FILES.LST
The first solution is fast to write but slow to execute,
because PKZIP will be called for each file found. In some
THESEUS 1.03 - User manual and reference - page 4
cases, this is the only choice. You must know that it exists
but you are not obliged to use it.
The second solution is longer but, for a large number of files
to process, it is almost 10 times faster.
This command redirects the output to a file, changes the output
mask, and creates a list of all the matching files, with their
paths. Then you can call pkzip only once, and you'll solve the
problem. Put these two rows into a batch file, and your system
backup is done!
For instance, you can write this batch:
@echo off
THESEUS osd om="$FN" DATE=@today AND at NE d > FILES.LST
echo INSERT save disk in A:
pause
PKZIP -u a:MYSAVE @FILES.LST
Congratulations! You have just composed a system backup with
two lines of directives.
Having the registered version, you have a third choice:
THESEUS osd om="$FN" OF=FLS.LST EED="PKZIP -u a:MYSAVE @$OF"
DATE=@td AND at NE d
which requires only a line!
But there are other things to do, today.
You absolutely must find all the files containing "Poor clerk"
that you've written in the last ten minutes before leaving
work. No fear!
THESEUS TIME GE 04:50p AND time LE 05:00p AND
SEARCH="Poor clerk"
If you want, the program will also change to the directory that
contains the first (or Nth) occurrence of found file:
THESEUS GO TI GE 04:50p AND ti LE 05:00p AND SR="Poor clerk"
---------------------------------------------------------------
Now it's maintenance time. You want to know which files use
more than 300 Kb (you'll often discover more than one copy of
these "monster" files in your disk):
THESEUS SIZE GT 300000
Now you might have a more complex demand, whose expansion takes
more than 127 characters (the maximum allowed by DOS command
line.)
THESEUS 1.03 - User manual and reference - page 5
Let's suppose that you want to search for every file with a
given name, created on some days of the week, changed on the
first day of the month, or contained on specified paths and you
must perform a long command for each file found.
Don't panic, please. THESEUS can take input from the command
line or from a file, where you can use the same commands as in
the command line. In addition, in the file you can even use
characters that have a special meaning for DOS : ">", "<" and
"|" (4DOS also gives a special meaning to the character "&"
too.)
Open a text file with your favorite editor and enter these
lines:
TOTALS RECURSEDIR
PATH = C:\FILES\ARCHIVE;C:\FILES\CUST;D:\SUPPORT;E:\CHANGES
EXEC = "C:\FILES\PROGRAMS\MYPROG.EXE $FN $SZ $DA"
DAY = 1 && (NAME = *.FTR || WEEKDAY = FRI || WEEKDAY = MON )
You may add comments by starting a line with a semicolon (;).
Save the file as STRANGE.FND, then enter the command, at DOS
prompt:
THESEUS @STRANGE.FND
But you can use THESEUS's ability to understand environment
variables, and solve the problem with another approach. At DOS
prompt you may enter the following three lines:
SET P=C:\FILES\ARCHIVE;C:\FILES\CUST;D:\SUPPORT;E:\CHANGES
set X="C:\FILES\PROGRAMS\MYPROG.EXE $FN $SZ $DA"
THESEUS TOT RD PA=@P EX=@X DAY=1 AND (NA=*.FTR OR WD=FRI
OR WD=MON)
A technical note:
-----------------
if you get a message such as
"out of environment space"
from the operating system, it means that your environment is
too small to contain all the variables that you need. To
increase this space, you can add a line in your config.sys:
SHELL = D:\PATH\COMMAND.COM /P /E:xxxx
where "D:\PATH\" is the drive and path containing your
command.com, "/P" means that command will load autoexec.bat if
it exists, and xxxx is the amount of environment space that you
need.
Example: if your command processor is located in the directory
C:\DOS and you need 512 Bytes of environment , then enter:
SHELL = C:\DOS\COMMAND.COM /P /E:512
THESEUS 1.03 - User manual and reference - page 6
If you use 4DOS with a version less than 4.0, you can use the
line
SHELL = C:\4DOS\4DOS.COM /P /E:512 /L:C:\4DOS
Using 4DOS version 4.0 or later, you must modify 4DOS.INI in
order to increase the amount of environment space.
Please refer to your command processor user's guide for further
details.
Well, now it's time for very complex things.
Let's suppose that you have, in the same directory, a lot of
zipped files downloaded from a BBS and you want :
1. to create a directory with the same name of the zipped file;
2. to unzip each zipped file into its subdirectory;
3. if OK, to delete the zipped files.
Yes, yes -- this is out of question for some famous GUI shells
for DOS, although their advertisers claim that they are "user
friendly." But try this:
THESEUS pa=@currentpath rd na=*.zip AND ecd="md $na" AND
ec="pkunzip.exe $NA $NA" // del
(enter it on a single row!)
or
set MYCOMMAND=pkunzip.exe $NA $NA
THESEUS pa=\BBS rd na=*.zip AND ecd="md $na" AND
ec=@MYCOMMAND // del
If it doesn't work, I will eat my hat.
THESEUS 1.03 - User manual and reference - page 7
Language components
====================
joins : && (AND) || (OR) // (ZZ)
condition: identifier operator value
Admitted identifiers:
Identifier AB Expected value supported operators
-------------- -- ---------------------- --------------------
Attribute AT Attribute (RASHDV) = <>
BegSearch BSR Text = <>
BegSearchUC BSU Text = <>
ComprCRC CRC Number (0-2147483647) = <>
ComprSize SZ Number (0-2147483647) = < <= > >= <>
Confirm CF Text = <>
Date DA Date (mm/dd/yyyy) = < <= > >= <>
Day DD Number (1-31) = < <= > >= <>
EndName EN Text = <>
Extern EC Text = <>
ExternD ECD Text = <>
Month MM Number (1-12) = < <= > >= <>
Name NA Text = <>
NameCont NC Text = <>
NameLen NL Number (1-8) = < <= > >= <>
Ratio RA Number (1-100) = < <= > >= <>
Search SR Text = <>
SearchUC SU Text = <>
Size SZ Number (0-2147483647) = < <= > >= <>
Soundex SX Text = <>
Time TI Time (hh:mmt) = < <= > >= <>
WeekDay WD Week Day (3 char.) = <>
Year YY Number (1980-2200) = < <= > >= <>
Modifiers marked with a "+" are available in the registered
version only.
Modifiers AB Expected value default value
-------------- -- -------------- --------------------------
AllCmp AC No Value FALSE
AllDrives AD No Value none
ArcExclude AX Text OFF
ArcNames AN Text none
ArcScan ARC No Value OFF
ArjExclude JX Text OFF
ArjNames JN Text none
ArjScan ARJ No Value OFF
BegExec + BE Text none
BegExecD + BED Text none
Clone + CL No Value FALSE
CmpOnly CY No Value OFF
ColorOutput CO No Value ON
Const CON Text none
ConstChar + CC Text @
DaysBack DBK Number 2
DefExt + DEX Text TSF
DefScrName + DSN Text THESEUS.TSF
THESEUS 1.03 - User manual and reference - page 8
Delete DEL No Value OFF
DirColorB DCB Number (0-15) 1 (Blue)
DirColorF DCF Number (0-15) 2 (Green)
Disable + DIS Text none
Drives DR Text Current drive
DrivesExcl DX Text none
Enable + ENA Text none
EndExec + EE Text none
EndExecD + EED Text none
Exec EX Text none
ExecD EXD Text none
ExpandArgs + EAR No Value ON
Explain XPL No Value OFF
ExplColorB ECB Number (0-15) 1 (Blue)
ExplColorF ECF Number (0-15) 3 (Cyan)
FileColorB FCB Number (0-15) 1 (Blue)
FileColorF FCF Number (0-15) 15 (White)
FileHeader FH No Value OFF
GoTo GO No Value OFF
Help HE Text none
InDateMask IDM Text mm/dd/yyyy
InTimeMask ITM Text hh:mmt
LzhExclude LX Text OFF
LzhNames LN Text none
LzhScan LZH No Value OFF
NoShow NS No Value OFF
Number NUM Number 1
OutDateMask ODM Text www DD nnn yyyy
OutDirLen ODL Number (0-9) 0
OutExtLen OEL Number (0-3) 3
OutNameLen ONL Number (0-9) 9
OutPathLen OPL Number (0-64) 0
OutputFile + OF Text CON (Screen)
OutSepDir OSD No Value FALSE
OutSizeMask OSM Text ###,###,###
OutTimeMask OTM Text hh:mmt
Path PA Text Root of Current drive
PathExcl PX Text none
Pause PAU No Value OFF
RecurseDir RD No Value TRUE
ReverseDir RVD No Value FALSE
Status ST No Value OFF
SwitchOFF + OFF Text none
SwitchON + ON Text none
Totals TOT No Value OFF
ZipExclude ZX Text OFF
ZipNames ZN Text none
ZipScan ZIP No Value OFF
OutCmpMask OCM Text " $SZ $CZ $RA $DA $CR $AT $ZN"
OutputMask OM Text " $NA$EX $SZ $DA $TI $AT"
$NA File Name
$NE File Name with Extension
$FN Full File Name with Drive and path
$EX File Extension
$DN Directory Name
THESEUS 1.03 - User manual and reference - page 9
$PA Path
$DR Drive
$DA File Date
$TI File Time
$SZ File Size
$AT File Attribute
$AN Compressed archive name
$ZN Compressed file name
$CZ Compressed file size
$RA Compressed file ratio
$CR Compressed file CRC
$CP Current path
$CD Current Date
$CT Current Time
$ME Available memory
$DS Free disk space
$OF + Output File
(Each MODIFIER that expects a value supports the "=" operator.
They can be used BEFORE any identifier is used, or, after all
conditional expression, with the special "//" dummy joint.)
operators:
Equal (= ) or ( EQ ) LessThan (< ) or ( LT )
LessEqual (<=) or ( LE ) GreaterThan (> ) or ( GT )
GreaterEqual (>=) or ( GE ) NotEqual (<>) or ( NE )
Parentheses: ( )
Constants:
Name Abbr Value
------------- ---- ----------------
@Today @TD Current date
@Yesterday @YD Yesterday date
@2DaysAgo @2DA Current date - 2
@Day @DD Current day
@Month @MM Current month
@Year @YY Current year
@Wkday @WD Cur day of week
@Now @NW Current time
@Midnight @MN 12:00am
@Noon @NN 12:00pm
@TeaTime @TT 05:00pm
@Midnight @MN 12:00am
@Noon @NN 12:00pm
@CurrentPath @CP The current path
@OutCmpMask @OCM " $SZ $CZ $RA $DA $TI $AT $ZN"
@OutputMask @OM " $NA$EX $SZ $DA $TI $AT"
Time constants:
Name Value Name Value
------------- ---------------- ------------- ----------------
@OneAM 01:00am @TwoAM 02:00am
@ThreeAM 03:00am @FourAM 04:00am
@FiveAM 05:00am @SixAM 06:00am
THESEUS 1.03 - User manual and reference - page 10
@SevenAM 07:00am @EightAM 08:00am
@NineAM 09:00am @TenAM 10:00am
@ElevenAM 11:00am @TwelveAM 12:00am
@OnePM 01:00pm @TwoPM 02:00pm
@ThreePM 03:00pm @FourPM 04:00pm
@FivePM 05:00pm @SixPM 06:00pm
@SevenPM 07:00pm @EightPM 08:00pm
@NinePM 09:00pm @TenPM 10:00pm
@ElevenPM 11:00pm @TwelvePM 12:00pm
Color constants:
Name Value Name Value
------------- ---------------- ------------- ----------------
@Black 0 @Blue 1
@Green 2 @Cyan 3
@Red 4 @Magenta 5
@Brown 6 @LtGray 7
@DarkGray 8 @LtBlue 9
@LtGreen 10 @LtCyan 11
@LtRed 12 @LtMagenta 13
@Yellow 14 @White 15
Language syntax
===============
The general format of a THESEUS command is:
THESEUS { @FileName | expr }
I.e. you can enter either a file name containing expressions,
or an expression on the command line. (In this case, expression
length is limited to the 127 characters accepted by DOS COMMAND
line.)
Expressions.
-------------
expression =
[modifier [modifier]] condition [join condition ... ][//
modifier]
An expression must contain at least one condition, and
optionally one or more modifiers BEFORE the first condition or,
if you prefer to put modifiers AFTER, the first modifier must
be preceded by the special "//" joint.
THESEUS 1.03 - User manual and reference - page 11
Conditions.
-----------
Each condition is composed of an identifier, an operator and a
value.
Example: NAME = *.DOC
| | |
| | +------------- value
| +--------------- operator
+------------------- identifier
Compound conditions.
--------------------
A condition can be simple or compound. Two or more conditions
must be linked with a joint AND or OR
Identifiers.
------------
An Identifier defines a type of condition to be checked for for
every file to be searched. See the previous section for a list
of valid identifiers.
Operators.
----------
Each identifier or modifier can support several operators.
Using an operator with an identifier that doesn't support it
causes a program to be halted.
Abbreviations.
--------------
You can use abbreviations for identifiers or modifiers, instead
of their full names. The identifier can't be freely
abbreviated; you must use either complete or abbreviated names,
but not intermediate forms. Eg.: you can use "AT" or
"Attribute" as identifiers, but not "ATTR" or "ATT."
Values.
-------
Value types are defined for each identifier. Each value can be
quoted (between two quotation marks (" ...... "),) in order to
have a correct expression that includes separators, such as
blank spaces, parentheses, dots.
THESEUS 1.03 - User manual and reference - page 12
THESEUS can accept values in decimal or hexadecimal format,
when the value is surrounded by brackets ( "[" ... "]" ) and
contains only decimal or hexadecimal numbers (a hexadecimal
number contains digits 0..9 and letters A..F,) separated by a
blank space or by a comma.
THESEUS evaluates each substring of this special string as a
number corresponding to the ASCII value of a character.
By default, THESEUS accepts values as decimal numbers, unless
you enter an "h" as a first character of the text between
brackets: in this case, numbers are evaluated as hexadecimal
ones.
If an error occurs during the conversion, the value will be
rejected.
Examples: THESEUS search = [h 3c 3e]
is the same as
THESEUS search = [60 62]
or
THESEUS search = "<>"
THESEUS search = [h 41 6D 65 72 69 63 61]
is the same as
THESEUS search = "America"
or
THESEUS search = [65,109,101,114,105,99,97]
but it is not the same as
THESEUS search = [h 65,109,101,114,105,99,97]
Theseus now accepts large numbers in hexadecimal format.
If you insert a number longer than 2 digits between braces, the
number will be interpreted as a number, instead of a string of
characters. This feature is useful only if you want to insert
an hexadecimal number, because you can insert a decimal
number without braces.
Examples:
[h100000]
will be expanded to
1048576
[h10000]
will be expanded to
65536
[12345678]
will be expanded to
12345678
THESEUS 1.03 - User manual and reference - page 13
Joints.
-------
A joint is a link between two or more conditions.
Joint precedence is not set by default; the user must
explicitly define the order of precedence with parentheses.
A condition of this form
Condition_A AND Condition_B OR Condition_C)
will be rejected by the program .
The user must declare
Condition_A AND (Condition_B OR Condition_C)
or
(Condition_A AND Condition_B) OR Condition_C
Modifiers.
----------
A modifier defines a search mode or an action to be performed
for found files.
Modifiers are declared without joints.
Ex: Modif_A Modif_B Modif_C Modif_D Condition_A AND Condition_B
A modifier that expects to receive a value supports only the =
operator.
Modifier types fall into several classes:
display look:
ColorOutput DirColorB DirColorF ExplColorB
ExplColorF FileColorB FileColorF FileHeader
OutDateMask OutDirLen OutExtLen OutNameLen
OutPathLen OutCmpMask OutputMask OutputFile
OutSepDir OutSizeMask OutTimeMask
input mode:
ConstChar DaysBack DefExt DefScrName
ExpandArgs InDateMask InTimeMask
where to search:
AllCmp AllDrives ArcExclude ArcNames
ArcScan ArjExclude ArjNames ArjScan
CmpOnly Drives DrivesExcl LzhExclude
LzhNames LzhScan Path PathExcl
ZipExclude ZipNames ZipScan
THESEUS 1.03 - User manual and reference - page 14
how to search:
Number RecurseDir ReverseDir
actions to be performed:
BegExec BegExecD Delete EndExec
EndExecD Exec ExecD Explain
GoTo NoShow Pause Status
Totals Help
specials:
Clone Const Disable Enable
SwitchOFF SwitchON
Constants.
----------
Constants are special identifiers that can be used AS VALUES in
expressions. Predefined constants are available for various
dates and times, and for the current path. You can define
constants as you like, for making your scripts clearer.
A constant can be used instead of a value, but not within it. A
constant within a quoted string will not be expanded to its
meaning.
Examples:
date=@today <--- correct
execd="echo $FN @today" <--- incorrect! Here the constant
@today is not recognized.
Environment variables are treated as internal constants by the
program, (with the same name, preceded by an "@" character,)
thus you can use variables such as PATH or COMSPEC as values in
the conditions.
Script files.
-------------
Script files are a way to use complex queries, or queries that
occur many times.
In a script file it's possible to insert any condition that you
may use on the command line, and you can use the symbols that
have a special meaning for DOS, such as "<", ">" and "|".
To use a script file, in the command line insert the character
"@" followed by the script file name.
THESEUS 1.03 - User manual and reference - page 15
Command line arguments.
-----------------------
Command line arguments can be referred to as constants from a
script file,
(and ONLY from a script file)
using @1, @2, @3 ... @n,
where @1 is the first argument, @2 is the second, and so on;
@0 is the name of script file;
@& is the entire command line.
Actions.
--------
Unlike other popular programs, THESEUS allows you to perform
one or more actions for each matching file, even for files that
partially match your condition. In other words, THESEUS has the
ability to execute a list of commands for a file, or a list of
conditional commands, where the execution of every command
depends on the right execution of the previous one. See the
paragraph "Performing Commands," later in this document, for
more details.
You can get more details on IDENTIFIERS, MODIFIERS and
CONSTANTS in the REFERENCE part of this document.
Getting help.
-------------
For a list of commands, you may run THESEUS without arguments.
The Program will display all the available identifiers,
modifiers, operators, joints and mask shortnames.
Stopping the program.
---------------------
You may stop the program at any time, simply by pressing a key.
Later see (Reference part: the NUMBER modifier) for a tip that
allows the user to restart the program after a break.
Case.
-----
All the tokens of the THESEUS language ( identifiers,
modifiers, constants, joints and operators) are case
insensitive. Thus, you can insert any identifier in upper or
lower case, as you prefer.
THESEUS 1.03 - User manual and reference - page 16
The default script file.
------------------------
THESEUS can load a script file in three ways:
1. when the script is declared in the command line;
2. if the program finds a THESEUS.TSF script file in the
current directory, or in the DOS PATH, or in the directory
containing the program itself;
3. if the program finds a script file whose name is declared in
the environment variable named THESEUS.
The default script file is evaluated as the first part of your
script. So you can declare all the modifiers you need in the
default script and all the conditions in the command line. Note
that if you declare an "ON-OFF" modifier (such as EXPLAIN or
TOTALS) in the default script, redeclaring it in the command
line will reverse its meaning.
Use this powerful feature with care! If you get a strange error
message from THESEUS, check your default script (if any) before
thinking to ghosts.
N.B. Like the CLONE modifier, the default script allows you to
perform a permanent change to THESEUS. This feature is
available only for the registered version of the program.
Script files and registered version.
------------------------------------
The registered version has the ability of adding a default
extension to the script file name, so the user can insert just
the file name in the command line. For the THESEUS's script
files the default extension is TSF (for Theseus Script File).
Also in the registered version, you can use predefined
constants in command line arguments, while in the shareware
version you can't.
The registered version can also search in the DOS path for the
script file. So, you can use a command like
THESEUS @myscript @today
if MYSCRIPT.TSF is in a directory included in the DOS path.
Using THESEUS with 4Dos.
------------------------
4Dos is a powerful program which can replace and enhance the
default command processor. With 4Dos you have the ability of
associate an extension with the program that processes files of
that type.
So, you may create your own executables using THESEUS scripts.
In order to obtain this, you must define some steps:
THESEUS 1.03 - User manual and reference - page 17
1. create a batch file, named TH.BAT and put it in a directory
included in your PATH (for instance, c:\bat)
@echo off
if %1. == . goto end
THESEUS @%&
:end
2. at the 4Dos prompt, enter the line:
set .TSF=c:\bat\TH.BAT
Now, you can call directly a THESEUS script file, in the same
way you call a .EXE or a .COM file.
Please refer to the 4DOS manual ("File processing" -
"executable extensions") for more details.
Performing Commands
===================
One of the most impressive features of THESEUS is the ability
to perform one or more commands for each file matching a given
condition. To do so, THESEUS has a linear behavior: when a file
matches the condition, it simply executes all the commands
defined with the EXEC (EX) or EXECD (EXD) modifier. Example: You
have a file named C:\TEXTS\MYBOOK.WRK, and you want to join it
with each file CH*.WRK contaiing the string "Chapter #".
Afterwards, you want to copy found files to a disk in A:. You may
try this command:
THESEUS exd="copy C:\TEXTS\MYBOOK.WRK + $FN" exd="copy $FN a:"
name=ch*.wrk
The program will execute the given commands in the same order
that you inserted them. So, if there are 3 files in your disk
(C:\DOCS\CHTWO.WRK C:\MAPS\CHTHREE.WRK C:\MYWORKS\CHFOUR.WRK)
THESEUS will perform:
copy C:\TEXTS\MYBOOK.WRK + C:\DOCS\CHTWO.WRK
copy C:\DOCS\CHTWO.WRK a:
copy C:\TEXTS\MYBOOK.WRK + C:\MAPS\CHTHREE.WRK
copy C:\MAPS\CHTHREE.WRK a:
copy C:\TEXTS\MYBOOK.WRK + C:\MYWORKS\CHFOUR.WRK
copy C:\MYWORKS\CHFOUR.WRK a:
Unlike other (less powerful) programs, THESEUS offers the feature
of performing a conditional execution of commands.
You will be able to manage this special feature using THESEUS's
ability to perform external commands as conditions, with the
EXTERN (EC) or EXERND (ECD) identifiers. Conditional execution is
possible only if the called program has the ability of returning
an errorlevel 0 for success or "not zero" (1, -1, 2 and so on)
for failure.
THESEUS 1.03 - User manual and reference - page 18
In order to obtain conditional execution, you must first create
the natural condition (to search for wanted files,) and after you
can add the conditional commands.
Let's suppose that you have some files *.MAX into ZIP archives,
and you want to extract them, use LHARC to archive them into
another file, and finally to copy the resulting archive to
another drive. The second command cannot be performed if the
first one fails, and the third is impossible if the second has
never been executed. Therefore, you must insure that the first
one has terminated with success.
To execute this command you must first create a script file,
named UNPAC.TSF:
;
; script file UNPAC.TSF
;
Explain Totals Path=@CurrentPath OutNameLen = 0
OutExtLen = 0 CmpOnly ZipScan
Name=*.max
&& Extern="pkunzip.exe -o $AN $CP $NE"
&& Extern="LHARC.EXE a $PA\$NA $PA\$NE"
&& ExternD="copy $PA\$NE d:"
after, you can execute
THESEUS @UNPAC.TSF
from the command line.
N.B.: All the internal DOS commands and most of external ones
always return an errorlevel 0, even if the command fails.
4DOS has a different behavior. Please refer to your 4DOS
user's manual for details on errorlevel after 4DOS
commands.
With the registered version, you can also execute commands before
start the search and after the search is finished. See BegExec,
BegExecD, EndExec, EndExecD and OutputFile for details.
THESEUS 1.03 - User manual and reference - page 19
Working with compressed archives.
=================================
The archive compression (a widely used feature in computer
science) is the ability of reducing large size files so that they
take up less storage space on a disk.
The files compressed with a compression program (such as PKZIP or
LHARC) are included into a container, named "archive" in general,
"ZIP file," "LZH file" or "ARC file" or "ARJ file" when we refer
to a particular kind of file compression.
A compressed file cannot be accessed directly by the Operating
System (MS-DOS): it requires a special program that can handle
the "archive file" in order to return information about the
"compressed file." So, if you want to know the contents of an
archived file, you must use the related program: PKZIP.EXE for
ZIP files, LHARC for LZH files, ARJ.EXE for ARJ files and so on.
Otherwise, you can use THESEUS, that can manage ZIP, LZH, ARC and
ARJ files as well as DOS files!
Working with compressed files is slightly different from working
with DOS files. It is not possible to display the contents or to
search for a text in a compressed file without dearchiving it.
THESEUS does not have the ability of decompressing archived
files, but it can give you useful informations and it can invoke
an external program to do so. See ZipScan, ZipExclude, ZipNames,
LzhScan, LzhExclude, lzhNames, ArcScan, ArcNames, ArcExclude,
ArjScan, ArjNames, ArjExclude, AllCmp, OutCmpMask and CmpOnly in
the reference part of this manual, for more details.
Please refer to the related manuals of the specific programs for
more information about file compression.
Customizing the program
=======================
Changing default options.
-------------------------
THESEUS is a single program but it has the potential ability of
transform itself to another more specialized program. This
ability is achieved through the CLONE modifier, which has the
effect of registering your favorite changes to the executable
file of the program.
You may change the display look, the output template masks, the
mode of searching (in subdirectories, into compressed files and
so on.)
Before changing the THESEUS options, you can copy the executable
file with a more significant name, and you will have a new
utility, as you whish.
THESEUS 1.03 - User manual and reference - page 20
For instance, you can enter:
copy THESEUS.exe findcmp.exe
findcmp CmpOnly AllCmp CLONE name=*.doc
This will create a program that searches only into compressed
files.
Use with care the CLONE modifier: make sure to understand the
full meaning of each value you want alter.
Using the STATUS option you can get a complete list of clonable
options with their current values. Check the THESEUS status
before using CLONE.
WARNING: before use the CLONE modifier, you should disable
loading of the default script file, in order to avoid unexpected
side effects. To do this, you can either delete the THESEUS.TSF
file, or declare an environment variable
SET THESEUS=ABCDEFGH.XYZ
where ABCDEFGH.XYZ is a name of a NON-EXISTENT file.
Enabling / disabling identifiers and modifiers.
-----------------------------------------------
THESEUS allows you to tuning the program features, using the
ENABLE and DISABLE modifiers.
The DISABLE modifier can inhibit the use of a modifier or
identifier, simply declaring it in conjunction with the CLONE
modifier.
If you grant your customers to use THESEUS in your computer, you
may be don't want to permit the deletion of your files, or the
execution of external programs. You can do this, by creating a
script like this:
;
; file DISABLE.TSF
;
; This script disallows the use of DELETE and the use
; of external programs with THESEUS
;
; Note that CLONE must be declared BEFORE disabliing it
clone
;
; you must disallow the use of ENABLE modifier
; otherwise it's possible to re-enable an identifier
disable=enable
;
; disallows the deletion of files
disable=delete
;
; disallows the execution of external programs
disable=Exec disable=ExecD
disable=BegExec disable=BegExecD
disable=EndExec disable=EndExecD
;
; disallows the use of external programs as conditions
THESEUS 1.03 - User manual and reference - page 21
disable=Extern disable=ExternD
;
; inhibits the further use of CLONE
disable=clone
;
; as a last action, you should disallow the use of the DISABLE
; modifier
disable=disable
and then using a command
THESEUS @DISABLE.TSF
ENABLE and DISABLE are available in the registered version
only.
Technical Notes
===============
This program was born from extensive research on semantics
applied to projects using Object Oriented Programming (OOP),
whose results were explained during a seminar at the University
of Cagliari.
The basic idea is that the contents of a regular expression can
be represented as abstract objects. With more accuracy, we can
say that each conditional expression is an object of type
"condition" and we can treat it abstractly, by querying to each
object : "do you match this file?" and each concrete condition
knowns how to answer to this simple question.
As a consequence, now we have THESEUS.
THESEUS has been written using Turbo Pascal 6.0, and a small
part of Object Professional 1.14
Tecnichally speaking, all the features of OOP have been
exploited in order to achieve a program that is:
flexible to user wishes;
easy to maintain;
coherent in any part;
easy to enhance and upgrade.
Now, to add a feature to this program is only a matter of a
short time because the program architecture can support almost
any new service that coherently we would want to add.
I have some ideas for the next version of THESEUS, that will be
developed using Borland C++ with the same OOP architecture, but
enhanced by the use of C++ advanced features.
THESEUS 1.03 - User manual and reference - page 22
About the Author.
=================
If you have suggestions or remarks about this program, you can
contact me at my address at :
Giuseppe Maxia
Via Olanda 13
09045 Quartu S.E. CA
Italy
Phone : (0039) 70 - 813169
E-Mail : MC8923@MCLink.It
THESEUS 1.03 - User manual and reference - page 23
Language reference
==================
Symbols.
--------
-----------------------------------------------------------------
"
-----------------------------------------------------------------
purpose: value delimiter
comments: each value delimited by quotes will be
accepted as a single string, even if it
contains blank spaces.
example: THESEUS search="My name"
-----------------------------------------------------------------
(
-----------------------------------------------------------------
purpose: It begins a complex conditional
expression.
comments: An expression in inner parentheses will
be evaluated first than outer.
The precedence of Joints is set only with
parentheses: if you have two joints of
differing type on the same level, you
must use parentheses to set the order of
evaluation. Each opened parenthesis must
match with a closed parenthesis.
Otherwise an error message is generated
and the program stops.
example: THESEUS NAME=*.doc AND (search="MY NAME"
OR DATE=@TODAY)
-----------------------------------------------------------------
)
-----------------------------------------------------------------
purpose: It ends a complex conditional expression.
comments: Entering more closed parentheses than
opened ones generates an error message
and the program stops.
example: See above.
THESEUS 1.03 - User manual and reference - page 24
-----------------------------------------------------------------
[
-----------------------------------------------------------------
purpose: ASCII value delimiter
comments: It allows the insertion of a value in
decimal or hexadecimal format. See the
"Values" paragraph, above in this
document, for more details.
example: THESEUS search=[h DB,DC,DD,DE,DF]
-----------------------------------------------------------------
]
-----------------------------------------------------------------
purpose: ASCII value delimiter
comments: Each value beginning with a "[" must
terminate with a "]". Otherwise, an error
message is generated and the program
stops.
example: THESEUS search=[ 65 66 67]
-----------------------------------------------------------------
operator =
-----------------------------------------------------------------
alternate form: EQ
purpose: operator "equals"
-----------------------------------------------------------------
operator <
-----------------------------------------------------------------
alternate form: LT
purpose: Operator "Less than"
comments: It cannot be used in the first form in
the command line, because symbol "<" is
interpreted as input redirection by DOS.
In a script file you can freely use both
the forms.
-----------------------------------------------------------------
operator >
-----------------------------------------------------------------
alternate form: GT
purpose: Operator "Greater than"
comments: It cannot be used in the first form in
the command line, because symbol ">" is
interpreted as output redirection by DOS.
THESEUS 1.03 - User manual and reference - page 25
In a script file you can freely use both
forms.
-----------------------------------------------------------------
operator >=
-----------------------------------------------------------------
alternate form: GE
purpose: Operator "Greater or Equal"
comments: see ">"
-----------------------------------------------------------------
operator <=
-----------------------------------------------------------------
alternate form: LE
purpose: Operator "Less or Equal"
comments: see "<"
-----------------------------------------------------------------
operator <>
-----------------------------------------------------------------
alternate form: NE
purpose: Operator "Not Equal"
comments: see "<" and ">"
-----------------------------------------------------------------
joint &&
-----------------------------------------------------------------
alternate form: AND
purpose: Joint "AND". It links two conditions.
It means that the condition placed before
this joint, and the next one, must be
both TRUE for making the entire
expression TRUE.
comments: Under 4DOS it is not possible to use the
first form in the command line, because
"&&" has a special meaning for 4DOS. See
the 4DOS reference manual for more
details.
THESEUS 1.03 - User manual and reference - page 26
-----------------------------------------------------------------
joint ||
-----------------------------------------------------------------
alternate form: OR
purpose: Joint "OR". It links two conditions. It
means that either the condition placed
before this joint or the next condition
must be TRUE, so that the entire
expression is evaluated TRUE.
comments: It's not possible to use it on the
command line, because "|" is the symbol
of piping, a kind of output redirection
used by the operating system. See your
Operating system user manual for more
details.
-----------------------------------------------------------------
joint //
-----------------------------------------------------------------
alternate form: ZZ
purpose: Dummy joint. It does not link, but
separates conditions from modifiers.
comments: THESEUS recognizes the modifiers inserted
BEFORE the conditions. If you want to
insert modifiers AFTER conditions, you
must use the special joint "//".
example: THESEUS name=*.bak // DELETE
THESEUS 1.03 - User manual and reference - page 27
Identifiers.
------------
-----------------------------------------------------------------
identifier: Attribute
-----------------------------------------------------------------
abbreviation: AT
expected value: Attribute (RASHDV)
supported operators: = <>
purpose: To check the file attribute
example: THESEUS at=h
-----------------------------------------------------------------
identifier: BegSearch
-----------------------------------------------------------------
abbreviation: BSR
expected value: Text
supported operators: = <>
purpose: Searches a text only within the first
2048 bytes of file.
comments: The same as SEARCH.
The fastest way to find a string in file
headers.
example: THESEUS na=*.c AND BSR="Copyright WonderSoft Inc"
-----------------------------------------------------------------
identifier: BegSearchUC
-----------------------------------------------------------------
abbreviation: BSU
expected value: Text
supported operators: = <>
purpose: The same as BegSearchUC, but it ignores
case.
example: THESEUS na=*.c AND BSU="COPYRIGHT WONDERSOFT INC"
-----------------------------------------------------------------
identifier: ComprCRC {1.01}
-----------------------------------------------------------------
abbreviation: CRC
expected value: Numeric (0-2147483647)
THESEUS 1.03 - User manual and reference - page 28
supported operators: = <>
purpose: To check the file CRC
comments: The ComprCRC identifier requires a search
into compressed archives. If no
compression search option has been
declared, THESEUS reports an error and
the program stops.
If the CmpOnly modifier is not declared,
CmprCRC returns a FALSE value for each
non-compressed file.
The file CRC is usually displayed in
exadecimal format. You can enter a number
in hexadecimal format using braces (see
below).
example: THESEUS ZIP CY CRC = [h 36a23eef]
-----------------------------------------------------------------
identifier: ComprSize
-----------------------------------------------------------------
abbreviation: CSZ
expected value: Number (0-2147483647)
supported operators: = < <= > >= <>
purpose: To check the compressed file size.
comments: The same as SIZE, but ComprSize requires
a compression search option to be
declared (such as ZipScan, LzhScan,
ArcNames and so on.)
ComprSize always returns aFALSE value for
each non-compressed file.
example: THESEUS ZIP CY csz GT 400000
-----------------------------------------------------------------
identifier: Confirm
-----------------------------------------------------------------
abbreviation: CF
expected value: Text
supported operators: = <>
THESEUS 1.03 - User manual and reference - page 29
purpose: Ask for user confirmation.
description: CONFIRM requires a text, which is the
message displayed by THESEUS for each
file matching all the conditions inserted
BEFORE the CONFIRM identifier.
When the confirmation identifier is
active, THESEUS displays your message,
followed by "(C/Q/Y/N) ?" you may reply:
<C>ontinue : process the rest of the
disk(s) without asking
anything;
<Q>uit or <ESC> : exit the program;
<Y>es or <ENTER> : execute and continue;
(N)o : do not execute and continue.
comments: Useful when you want to execute a
command, and you want to ensure that only
certain files will be processed.
Note that if you use the NOTEQUAL
operator, the meaning of the condition
will be reversed:
THESEUS na=*.doc AND cf NE "ignore %FN"
example: THESEUS delete name=*.bak AND cf="delete $FN"
-----------------------------------------------------------------
identifier: Date
-----------------------------------------------------------------
abbreviation: DA
expected value: Date (mm/dd/yyyy)
supported operators: = < <= > >= <>
purpose: To search for all files which matches the
date demanded.
example: DA GE 10/25/1991 AND da LE 10/31/1991
(search for the files created or modified
between Friday, October 25, 1991 and
Thursday, October 31, 1991)
-----------------------------------------------------------------
identifier: Day
-----------------------------------------------------------------
abbreviation: DD
expected value: Number (1-31)
supported operators: = < <= > >= <>
purpose: To search for all files whose day matches
the one demanded, regardless of the month
or the year.
THESEUS 1.03 - User manual and reference - page 30
example: DD EQ 1
Search for the files created or modified
the first day of the month.
-----------------------------------------------------------------
identifier: EndName {1.03}
-----------------------------------------------------------------
abbreviation: EN
expected value: Text
supported operators: = <>
purpose: To check for a substring at the end of
the file name.
comments: EndName works like NameCont, but checks
only for a substring at the end of the
file name.
EndName ignores the case size of the
inserted text.
example: THESEUS EndName = ol
will match
TOOL.DOC
GAMEROL.EXE
OL.TXT
PATROL.OIL
and so on,
but will ignore
TOOLS.DOC
GAMEROLE.EXE
OLD.TXT
PAROLA.OLL
---------------------------------------------------------------------------
identifier: Extern
---------------------------------------------------------------------------
abbreviation: EC
expected value: Text
supported operators: = <>
purpose: To call the specified program as a
condition, and assume TRUE for ERRORLEVEL
0, or FALSE for ERRORLEVEL 1.
comments: The program name must be passed with a
quoted string, using " (ASCII character
034) or ` (ASCII character 96) as
delimiters.
The quoted string is interpreted as
follows:
THESEUS 1.03 - User manual and reference - page 31
- The first word in the string is
intended as the PROGRAM NAME. If this
name does not exist in the current
directory, in the DOS PATH, or in the
same path where THESEUS is executed, an
error is produced and the program
halts.
- the rest of the string will be passed
as an argument to the program, when it
is called.
Note: you can't use redirection chars
in the argument string, because the
program is called directly, (not by
DOS.) If you need to use redirection,
you must use the EXTERND identifier.
You must also use EXTERND if you try to
call internal commands of the current
command processor (COMMAND.COM,
4DOS.COM, etc.)
- Special substrings in the argument part
of the command are expanded as display
mask:
$NA File Name without extension
$NE File Name with extension
$FN Full File Name with Drive and path
$EX File Extension
$DN Directory Name
$PA Path
$DR Drive
$DA File Date
$TI File Time
$SZ File Size
$AT File Attribute
$CP Current path
$CD Current Date (Input Date Mask)
$CT Current Time (Input Time Mask)
$AN Compressed archive File
$CZ Compressed File Size
$CR Compressed File CRC
$ME Available memory
$DS Free disk space (current drive)
$OF Output file
You can use each marker as many times
as you like, but remember that program
arguments cannot exceed 127 characters:
a simple mask
"PROGNAME $FN $FN $FN $FN"
can be expanded to a 156 character
string for a file name such as
C:\UTILITY\TOOLS\SPECIALS\MOUSE.COM
example: THESEUS EC="MYPROG.EXE $FN $SZ MYARGUMENT"
THESEUS 1.03 - User manual and reference - page 32
warning: Don't try to execute any TSR (Terminate
but Stay Resident) program from THESEUS!
This may get unpredictable results!
********************* WARNING! ********************
Using external programs applied to the huge power
of THESEUS may be dangerous if you don't know
exactly what you are doing.
***************************************************
-----------------------------------------------------------------
identifier: ExternD
-----------------------------------------------------------------
abbreviation: ECD
expected value: Text
supported operators: = <>
purpose: The same of EXTERN, but the program will
be called by a secondary shell loaded by
THESEUS.
example: THESEUS NA=*.ARJ AND ECD="ARJ l $FN MYFILE.C > NUL"
will display any ARJ file that contains
myfile.c
********************* WARNING! ********************
Using external programs applied to the huge power
of THESEUS may be dangerous if you don't know
exactly what you are doing.
***************************************************
-----------------------------------------------------------------
identifier: Month
-----------------------------------------------------------------
abbreviation: MM
expected value: Number (1-12)
supported operators: = < <= > >= <>
purpose: To search for all files whose month
matches the one demanded, regardless of
the year or the day.
example: MM = 2
Search for any file created or modified
in february.
THESEUS 1.03 - User manual and reference - page 33
-----------------------------------------------------------------
identifier: Name
-----------------------------------------------------------------
abbreviation: NA
expected value: Text
supported operators: = <>
purpose: To check the file name (it accepts DOS
wildchars.)
comments: It does not recognize advanced file mask
such as UNIX ones: *XX*.* is accepted as
*.*.
You may insert multiple names, separated
by a semicolon (;). This will be
interpreted as a list of NAME conditions
linked by OR if the operator is "=" or
linked by AND if the operator is "<>".
examples: THESEUS NAME = *.DOC OR na EQ gm*.*
the same as NAME=*.doc;gm*.*
NAME NE *.G*;g*.*
same as NAME NE *.G* AND name NE g*.*
-----------------------------------------------------------------
identifier: NameCont
-----------------------------------------------------------------
abbreviation: NC
expected value: Text
supported operators: = <>
purpose: To search for substrings contained in the
file name.
comments: It ignores the case size of names. It
searches only in the file name, neither
in the path, nor in the extension.
You may insert multiple strings,
separated by a semicolon (;). This will
be interpreted as a list of NAMECONT
conditions linked by OR for the "="
operator or by AND for the "<>"
operator.
example: THESEUS NC = doc
will match DOCS.TXT, CPP_DOCS.ZIP,
GETDOC.COM MADDOCT.TAL and so on.
NC = DOC;DOX;DAC
THESEUS 1.03 - User manual and reference - page 34
-----------------------------------------------------------------
identifier: NameLen
-----------------------------------------------------------------
abbreviation: NL
expected value: Number (1-8)
supported operators: = < <= > >= <>
purpose: To search for files whose name length
matches the one demanded.
comments: Extension length is not calculated.
example: THESEUS NL EQ 3
-----------------------------------------------------------------
identifier: Ratio
-----------------------------------------------------------------
abbreviation: RA
expected value: Number (1-100)
supported operators: = < <= > >= <>
purpose: To search for compressed files whose
compression ratio matches the one
demanded.
comments: The Ratio is the result of the
expression:
100 - (ComprSize / OrigSize * 100)
rounded to nearest integer.
Note that LHARC uses a different
approach, and it calculates the ratio as
ComprSize / OrigSize * 100.
So Ratio = 0 is the minimum compression,
(stored) while Ratio = 100 is the more
compressed ratio.
The RATIO identifier requires a search
into compressed archives. If no
compression search option has been
declared, THESEUS reports an error and
the program stops.
If the CmpOnly modifier is not declared,
Ratio returns a FALSE value for each
non-compressed file.
example: THESEUS Zip CY Ratio LE 10
THESEUS 1.03 - User manual and reference - page 35
-----------------------------------------------------------------
identifier: Search
-----------------------------------------------------------------
abbreviation: SR
expected value: Text
supported operators: = <>
purpose: To search for the specified text
contained in a file.
comments: When used, this options searches at least
as fast as other famous search utilities.
In addition, this program avoids a common
bug, present in several programs that
cannot find search string when unlikely
broken at the end of their search buffer.
THESEUS uses a buffer of 65,521 bytes (or
less if there is not enough memory) and
correctly checks for strings at the end
of the buffer.
Notice that the search will not be
performed if the matching file is
contained into a compressed archive file.
In this circumstance, SEARCH always
returns FALSE.
Remember that you can use a value
enclosed between square brackets to
insert a search string in decimal or
hexadecimal value.
examples: THESEUS SEARCH = "Samantha Fox"
THESEUS SEARCH = [h 22 23 24 25 26]
suggestions: In order to avoid a long wait (although
the search algorythm is fully optimized
and very fast) whenever possible you
should use the SEARCH condition after a
call to another known condition.
Example: if you know that the text you
are searching for doesn't reside in
zipped files, you can use the following
expression:
THESEUS NAME NE *.ZIP AND SEARCH="Smiley's People"
Of course, you can explicitly declare
file names to be searched:
THESEUS NAME=*.TXT AND SEARCH="On the road"
THESEUS 1.03 - User manual and reference - page 36
-----------------------------------------------------------------
identifier: SearchUC
-----------------------------------------------------------------
abbreviation: SU
expected value: Text
supported operators: = <>
purpose: The same as SEARCH, but it ignores case
size.
-----------------------------------------------------------------
identifier: Size
-----------------------------------------------------------------
abbreviation: SZ
expected value: Number (0-2147483647)
supported operators: = < <= > >= <>
purpose: To check the file size.
example: THESEUS sz GT 400000
-----------------------------------------------------------------
identifier: Soundex
-----------------------------------------------------------------
abbreviation: SX
expected value: Text
supported operators: = <>
purpose: To search for files that "sound" like the
given text.
comments: Searches only in the file name, not in
the path, nor in the extension.
You may insert multiple strings,
separated by a semicolon (;). This will
be interpreted as a list of SOUNDEX
conditions linked by OR for the "="
operator or linked by AND for the "<>"
operator.
example: THESEUS SX = CRT
search for files whose sound code is C630
(CRT, CRD, CREED, CARD, CART, etc)
THESEUS 1.03 - User manual and reference - page 37
-----------------------------------------------------------------
identifier: Time
-----------------------------------------------------------------
abbreviation: TI
expected value: Time (hh:mmt)
supported operators: = < <= > >= <>
purpose: To search for the files which matches the
date demanded.
comments: You may use time constants instead of
absolute values, if you prefere. (see:
@ONEAM ... @TWELVEPM)
example: THESEUS Time GE 01:00p AND time LE 02.00p
(Search for files modified at lunch time)
-----------------------------------------------------------------
identifier: WeekDay
-----------------------------------------------------------------
abbreviation: WD
expected value: Week Day (3 char.)
supported operators: = <>
purpose: To search for the files that have been
created or modified in the specified day
of the week.
example: THESEUS WD = fri
search files created on Friday
THESEUS WeekDay NE Sun AND WeekDay NE Sat
search only workday files.
-----------------------------------------------------------------
identifier: Year
-----------------------------------------------------------------
abbreviation: YY
expected value: Number (1980-2200)
supported operators: = < <= > >= <>
purpose: To search for the files whose year
matches the one demanded, regardless of
the month or the day.
example: THESEUS Year EQ 1991
THESEUS 1.03 - User manual and reference - page 38
Modifiers.
----------
-----------------------------------------------------------------
modifier: AllCmp
-----------------------------------------------------------------
abbreviation: AC
expected value: none
default value: OFF
purpose: It's a shortcut for invoking ZipScan
LZHScan and ArcScan.
example: THESEUS ALLCMP CMPONLY NAME=JH*.DOC
It's the same as
THESEUS ARC LZH ZIP CY NAME=JH*.DOC
-----------------------------------------------------------------
modifier: AllDrives
-----------------------------------------------------------------
abbreviation: AD
expected value: none
default value: none
purpose: It includes all the drives in the path
for the search.
comments: When ALLDRIVES is declared, THESEUS will
automatically include in the search path
all the valid hard drives in your system.
You can use DRIVESEXCL to limit the
drives included those from ALLDRIVES.
example: THESEUS ALLDRIVES DX=EF NAME=HH*.COM
-----------------------------------------------------------------
modifier: ArcExclude
-----------------------------------------------------------------
abbreviation: AX
expected value: Text
default value: OFF
purpose: It excludes the ARC names from scanning.
comments: The same as ZIPEXCLUDE.
example: THESEUS AN=k*.ARC AX=kr.* size GT 400000
THESEUS 1.03 - User manual and reference - page 39
-----------------------------------------------------------------
modifier: ArcNames
-----------------------------------------------------------------
abbreviation: AN
expected value: Text
default value: none
purpose: It sets the ARC names to be scanning.
comments: The same as ZIPNAMES.
example: THESEUS AN=k*.ARC size GT 400000
-----------------------------------------------------------------
modifier: ArcScan
-----------------------------------------------------------------
abbreviation: ARC
expected value: No Value
default value: OFF
purpose: It enables THESEUS to search into archive
files compressed with ARC.EXE.
comments: The same as ZIPSCAN.
example: THESEUS ARC names=*.frt
-----------------------------------------------------------------
modifier: ArjExclude {1.03}
-----------------------------------------------------------------
abbreviation: JX
expected value: Text
default value: OFF
purpose: It excludes the ARJ names from scanning.
comments: The same as ZIPEXCLUDE.
example: THESEUS JN=k*.ARJ JX=kr.* size GT 400000
-----------------------------------------------------------------
modifier: ArjNames {1.03}
-----------------------------------------------------------------
abbreviation: JN
expected value: Text
default value: none
THESEUS 1.03 - User manual and reference - page 40
purpose: It sets the ARJ names to be scanning.
comments: The same as ZIPNAMES.
example: THESEUS JN=k*.ARJ size GT 400000
-----------------------------------------------------------------
modifier: ArjScan {1.03}
-----------------------------------------------------------------
abbreviation: ARJ
expected value: No Value
default value: OFF
purpose: It enables THESEUS to search into archive
files compressed with ARJ.EXE.
comments: The same as ZIPSCAN.
example: THESEUS ARJ names=*.thj
-----------------------------------------------------------------
modifier: BegExec
-----------------------------------------------------------------
abbreviation: BE
expected value: Text
default value: none
purpose: It defines an action to be performed
BEFORE starting the search.
comments: You may define more than an action, using
many occurrences of BegExec or BegExecD.
THESEUS will execute the required actions
in the same order you have inserted them.
example: THESEUS BE="display.com logo.txt" name=*.doc
-----------------------------------------------------------------
modifier: BegExecD
-----------------------------------------------------------------
abbreviation: BED
expected value: Text
default value: none
purpose: The same as BegExec, but a second copy of
the command processor will be loaded.
example: THESEUS BED="echo memory $ME" name=*.doc
THESEUS 1.03 - User manual and reference - page 41
-----------------------------------------------------------------
modifier: Clone
-----------------------------------------------------------------
abbreviation: CL
expected value: No Value
default value: OFF
purpose: It makes changes permanent.
comments: The CLONE feature is available only for
registered users.
CLONE can fix changes for :
Output Name Length OutNameLen
Output Extension Length OutExtLen
Output Directory name Length OutDirLen
Output path Length OutPathLen
Output Separate directory name OutSepDir
Days to set back DaysBack
Show File NoShow
Colored Output ColorOutput
File Header FileHeader
Show Explain Explain
Show Totals Totals
Output Mask OutputMask
Output Compressed Mask OutCmpMask
Input Date Mask InDateMask
Input Time Mask InTimeMask
Output Date Mask OutDateMask
Output Time Mask OutTimeMask
Output Size Mask OutSizeMask
ZipFile search ZipScan
LZHFile search LZHScan
Archives search only ArchiveOnly
Constant character ConstChar
Default script name DefScrName
Default script extension DefExt
Expansion of arguments ExpandArgs
Enabling or disabling each identifier or
modifier, including the CLONE itself.
See the "Customizing the program" section
above in this document for more details
about using CLONE.
WARNING: if THESEUS is altered (using a
debugger or another file editing utility)
or is compressed (with PKLITE or similar)
it will not be cloned.
example: THESEUS ODM="yyyymmdd" CLONE date=19921127
THESEUS 1.03 - User manual and reference - page 42
-----------------------------------------------------------------
modifier: CmpOnly
-----------------------------------------------------------------
abbreviation: CY
expected value: No Value
default value: OFF
purpose: It enables THESEUS to search only into
compressed files.
comments: An error will be generated if no
compressed search is set, for ZIP, ARC or
LZH files.
Therefore, you must use ZIPSCAN or
ZIPNAMES or LZHSCAN or LZHNAMES or
ARCSCAN or ARCNAMES or ALLCMP in
conjunction with CmpOnly.
example: THESEUS ZIP CY names=bc*.exe
-----------------------------------------------------------------
modifier: ColorOutput
-----------------------------------------------------------------
abbreviation: CO
expected value: none
default value: ON
comments: Disallows THESEUS to use his specials
color attributes to display files,
directories and explainations.
When output is redirected, the
ColorOutput will be turned OFF.
See DirColorB, FileColorB, ExplColorB,
DirColorF, FileColorF, ExplColorF for
details.
-----------------------------------------------------------------
modifier: Constant
-----------------------------------------------------------------
abbreviation: CON
expected value: string
default value: none
comments: It inserts a new constant.
The text value must be quoted, in order
to allow at least two strings to be
declared. General format of a constant is
"@DECLARATION Value." When it meets
@DECLARATION, THESEUS will substitute it
THESEUS 1.03 - User manual and reference - page 43
with Value.
Constants will not be saved in to the
executable file when the CLONE modifier
is declared.
You can store many constants in the
default script, which will be loaded by
THESEUS at start.
example: THESEUS con="@AB AB*.BA*" NAME=@AB OR search=@AB
-----------------------------------------------------------------
modifier: ConstChar
-----------------------------------------------------------------
abbreviation: CC
expected value: string
default value: @
comments: Changes the default character used by
THESEUS to identify a constant and a
script file name.
Available only in the registered version.
example: THESEUS CC=! clone
-----------------------------------------------------------------
modifier: DaysBack
-----------------------------------------------------------------
abbreviation: DBK
expected value: Number
default value: 2
comments: It adds (or changes) a new value for days
to be counted back from the operating
date.
Each occurrence of DAYSBACK creates a new
CONSTANT whose name is @##DaysAgo when ##
is the number inserted by DaysBack. There
are 10 storable values (using the CLONE
modifier) for a DaysBack occurrence. 11th
insertion will overwrite the first one,
and so on. In the command line (or in a
script) you may declare more occurrences,
but remember that only 10 can be stored.
example: THESEUS DBK=5 dbk=18 date GT @18daysago AND date LT @5DA
THESEUS 1.03 - User manual and reference - page 44
-----------------------------------------------------------------
modifier: DirColorB
-----------------------------------------------------------------
abbreviation: DCB
expected value: Numeric
default value: 1 (Blue)
purpose: Sets the value of background color for
displaying directories.
comments: DirColorB accepts values from 0 (black)
to 7 (LtGray.) Values from 8 (DarkGray)
to 15 (White) are intended as blinking
colors.
example: THESEUS DCB=@red name=*.doc
-----------------------------------------------------------------
modifier: DirColorF
-----------------------------------------------------------------
abbreviation: DCF
expected value: Numeric
default value: 2 (Green)
purpose: Sets the value of foreground color for
displaying directories.
comments: DirColorF accepts values from 0 (black)
to 15 (White.)
example: THESEUS DCB=@Green DCF=@LtRed name=*.doc
-----------------------------------------------------------------
modifier: DefExt
-----------------------------------------------------------------
abbreviation: DEX
expected value: Text
default value: TSF
purpose: Sets the default extension for a THESEUS
script file.
comments: Available only in the registered version.
example: THESEUS DEX=GGG clone
THESEUS 1.03 - User manual and reference - page 45
-----------------------------------------------------------------
modifier: DefScrName
-----------------------------------------------------------------
abbreviation: DSN
expected value: Text
default value: THESEUS.TSF
purpose: Sets the name of the default script file.
comments: Available only in the registered version.
example: THESEUS DSN=MYTHES.GGG clone
-----------------------------------------------------------------
modifier: Delete
-----------------------------------------------------------------
abbreviation: DEL
expected value: No Value
default value: OFF
comments: It deletes matching files.
WARNING! Use it with care! By default,
THESEUS doesn't ask you for confirmation.
A command as
THESEUS alldrives delete name=*.*
will erase all files in your disks!
Use the DELETE modifier in conjunction
with the CONFIRM identifier for a
complete control of the deletion.
example: THESEUS ALLDRIVES DELETE NAME=*.BAK
-----------------------------------------------------------------
modifier: Disable
-----------------------------------------------------------------
abbreviation: DIS
expected value: Text
default value: none
comments: It disallows the use of a THESEUS's
identifier or modifier.
Available only in the registered version
of THESEUS.
example: THESEUS disable=delete clone
THESEUS 1.03 - User manual and reference - page 46
-----------------------------------------------------------------
modifier: Drives
-----------------------------------------------------------------
abbreviation: DR
expected value: Text
default value: Root of Current drive
purpose: It sets the drives where you want to
search.
comments: DRIVES is a shortcut for inserting a
path, where paths are only drive roots.
With DRIVES you don't need to write
colons (:) and semicolons (;), but it's
enough to enter the character(s) that
identify the drive.
examples: THESEUS DRIVES=cdef NAME=*.C
is the same as
THESEUS PATH=C:\;D:\;E:\;F:\ NAME=*.C
-----------------------------------------------------------------
modifier: DrivesExcl
-----------------------------------------------------------------
abbreviation: DX
expected value: Text
default value: none
purpose: It excludes one or more drives from
search.
comments: DRIVESEXCL is a shortcut for PATHEXCL,
where paths to be excluded are only drive
roots.
Note that you cannot declare a path and
exclude a drive that contain that path:
PATH=C:\BC;D:\BS DX=D name=*.c
this command does not make sense.
You can include United States and exclude
Arkansas or Texas; but, if you select
Texas it's meaningless to exclude USA!
Therefore, the only use of DRIVESEXCL is
when you want to limit the action of
ALLDRIVES.
example: THESEUS ALLDRIVES DX=EF NAME=HH*.COM
-----------------------------------------------------------------
modifier: Enable
-----------------------------------------------------------------
abbreviation: ENA
THESEUS 1.03 - User manual and reference - page 47
expected value: Text
default value: none
comments: It allows the use of a THESEUS's
identifier or modifier, previously turned
off by DISABLE.
Available only in the registered version
of THESEUS.
example: THESEUS enable=delete clone
-----------------------------------------------------------------
modifier: EndExec
-----------------------------------------------------------------
abbreviation: EE
expected value: Text
default value: none
purpose: It defines an action to be performed
when the search is finished.
comments: The same as BegExec, but the action will
be performed after the search.
This command is useful if you want to
redirect the output to a file and then
use it for a final command.
example:
THESEUS OSD OM="$FN" OF=FILES.LST EE="PKZIP e:\save @$OF" da=@td
-----------------------------------------------------------------
modifier: EndExecD
-----------------------------------------------------------------
abbreviation: EED
expected value: Text
default value: none
purpose: The same as EndExec, but a second copy of
the command processor will be loaded.
comments: See above.
example:
THESEUS OSD OF=bb.BAT EED=$OF OM="echo $FN" date=@today
THESEUS 1.03 - User manual and reference - page 48
-----------------------------------------------------------------
modifier: Exec
-----------------------------------------------------------------
abbreviation: EX
expected value: Text
default value: none
comments: It executes a program command for each
matching file. See discussion above,
where EXTERN is explained. Note that the
program will be halted if an error occurs
during the execution of the called
program.
example: THESEUS EXEC="SCAN.EXE /NoMem $FN" NAME=SUSP*.OVL
The program searches for SCAN.EXE in the
DOS PATH and, if it is found, executes
SCAN.EXE for each occurrence of files
SUSP????.OVL
********************* WARNING! ********************
Using external programs applied to the huge power
of THESEUS may be dangerous if you don't know
exactly what you are doing.
***************************************************
-----------------------------------------------------------------
modifier: ExecD
-----------------------------------------------------------------
abbreviation: EXD
expected value: Text
default value: none
comments: The same as EXEC, but another copy of
command processor will be loaded. See
also: EXEC, EXTERN, EXTERND.
example: THESEUS EXD="copy $FN A:" DATE=11/04/1992
-----------------------------------------------------------------
modifier: ExpandArgs
-----------------------------------------------------------------
abbreviation: EAR
expected value: No Value
default value: ON
comments: It allows the expansion of command line
arguments within a value, before THESEUS
evaluates it.
THESEUS 1.03 - User manual and reference - page 49
Restrictions:
- it works only for the arguments passed
in the command line to a script;
- it's available only for the registered
version.
example: ; script file test.TSF
;
search = "@1 @2"
with ExpandArgs active:
THESEUS ON=EAR @test.tsf my text
=
THESEUS search = "my text"
with ExpandArgs not active:
THESEUS OFF=EAR @test.tsf my text
=
THESEUS search = "@1 @2"
-----------------------------------------------------------------
modifier: Explain
-----------------------------------------------------------------
abbreviation: XPL
expected value: No Value
default value: OFF
comments: It explains the meaning of a condition.
example: THESEUS EXPLAIN name=*.PRJ
-----------------------------------------------------------------
modifier: ExplColorB
-----------------------------------------------------------------
abbreviation: ECB
expected value: Numeric
default value: 1 (Blue)
purpose: Sets the value of background color for
displaying explanations and headers.
comments: ExplColorB accepts values from 0 (black)
to 7 (LtGray.) Values from 8 (DarkGray)
to 15 (White) are intended as blinking
colors.
example: THESEUS ECB=@Green name=*.doc
THESEUS 1.03 - User manual and reference - page 50
-----------------------------------------------------------------
modifier: ExplColorF
-----------------------------------------------------------------
abbreviation: ECF
expected value: Numeric
default value: 3 (Cyan)
purpose: Sets the value of foreground color for
displaying explanations and headers.
comments: ExplColorF accepts values from 0 (black)
to 15 (White.)
example: THESEUS ECB=@LtGray ECF=@Blue name=*.doc
-----------------------------------------------------------------
modifier: FileColorB
-----------------------------------------------------------------
abbreviation: FCB
expected value: Numeric
default value: 1 (Blue)
purpose: Sets the value of background color for
displaying files.
comments: FileColorB accepts values from 0 (black)
to 7 (LtGray.) Values from 8 (DarkGray)
to 15 (White) are intended as blinking
colors.
example: THESEUS FCB=@Black name=*.doc
-----------------------------------------------------------------
modifier: FileColorF
-----------------------------------------------------------------
abbreviation: FCF
expected value: Numeric
default value: 15 (White)
purpose: Sets the value of foreground color for
displaying files.
comments: FileColorF accepts values from 0 (black)
to 15 (White.)
example: THESEUS FCB=@Cyan FCF=@Black name=*.doc
THESEUS 1.03 - User manual and reference - page 51
-----------------------------------------------------------------
modifier: FileHeader
-----------------------------------------------------------------
abbreviation: FH
expected value: No Value
default value: OFF
comments: Displays a header for each directory or
compressed archive processed. The format
of the header depends on the output mask.
The file header is adapted to the mask
currently used (normal or compressed.)
FileHeader is available only if OutSepDir
is also active.
example: THESEUS FileHeader Zip name=*.DOC
-----------------------------------------------------------------
modifier: GoTo
-----------------------------------------------------------------
abbreviation: GO
expected value: No Value
default value: OFF
comments: It jumps to the directory that contains
matching files and stop the program.
example: THESEUS GOTO NAME=PETER.PAN
-----------------------------------------------------------------
modifier: Help {1.02}
-----------------------------------------------------------------
abbreviation: HE
expected value: Text
default value: <none>
purpose: It displays a short description of a
given identifier or modifier.
comments: You may insert many values with a single
declaration of Help, by separating each
value with a semicolon (;).
Notes:
- In order to obtain a full description
of identifier purpose, you must have
the THESEUS.BIN data file in the
current directory, or in the DOS path,
or in the same directory where THESEUS
THESEUS 1.03 - User manual and reference - page 52
starts.
- The quick reference card contained in
file THESEUS.QRC has been made using
the Help command. See the QrefCard.TSF
script file.
example: THESEUS help=name help=size help=CRC
THESEUS help=fcf;fcb;dcf;dcb
-----------------------------------------------------------------
modifier: InDateMask
-----------------------------------------------------------------
abbreviation: IDM
expected value: Text
default value: mm/dd/yyyy
purpose: It sets the format of the date for input.
comments: See OUTDATEMASK for details
You may compose the mask using special
characters
h hour (left padded with zeroes)
H hour (left padded with spaces)
m minutes (left padded with zeroes)
M minutes (left padded with spaces)
s seconds (left padded with zeroes)
s seconds (left padded with spaces)
t appends an "a" or "p" to time
e appends a "m" to time when "t" is
used
examples: THESEUS IDM="yyyy-mm-dd" DA=1992-11-05
-----------------------------------------------------------------
modifier: InTimeMask
-----------------------------------------------------------------
abbreviation: ITM
expected value: Text
default value: hh:mmt
comments: It sets the format of the time for input.
See OUTTIMEMASK for details.
THESEUS 1.03 - User manual and reference - page 53
-----------------------------------------------------------------
modifier: LzhExclude
-----------------------------------------------------------------
abbreviation: LX
expected value: Text
default value: OFF
purpose: It excludes the LZH names from scanning.
comments: The same as ZIPEXCLUDE.
example: THESEUS LN=k*.LZH LX=kr.* size GT 400000
-----------------------------------------------------------------
modifier: LzhNames
-----------------------------------------------------------------
abbreviation: LN
expected value: Text
default value: none
purpose: It sets the LZH names to be scanning.
comments: The same as ZIPNAMES.
example: THESEUS LN=k*.LZH size GT 400000
-----------------------------------------------------------------
modifier: LzhScan
-----------------------------------------------------------------
abbreviation: LZH
expected value: No Value
default value: OFF
purpose: It enables THESEUS to search into archive
files compressed with LHARC.EXE.
comments: The same as ZIPSCAN.
NOTICE: THESEUS is not able to scan files
compressed with LHA.EXE.
example: THESEUS LZH names=*.frt
THESEUS 1.03 - User manual and reference - page 54
-----------------------------------------------------------------
modifier: NoShow
-----------------------------------------------------------------
abbreviation: NS
expected value: No Value
default value: OFF
comments: It disallows the display of matching
files.
example: THESEUS NOSHOW PATH=C:\BC TOTALS SZ GT 0
It displays only the number of the files
contained in C:\BC and subdirs.
-----------------------------------------------------------------
modifier: Number
-----------------------------------------------------------------
abbreviation: NUM
expected value: Number
default value: 1
comments: It starts the action of the program from
the numbered file found.
example: THESEUS GoTo Num=3 Name=*.DOC
It jumps to the directory that contains
the third file matching the search
condition.
Tip: You may use the NUMBER modifier to
restart the execution stopped by a
pressed key:
THESEUS TOTALS NAME=mynames.*
press a key and look at the number of
files found:
let's suppose that the number was 14
then enter
THESEUS NUM=15 TOTALS NAME=mynames.*
the program will continue processing
files from the break point.
THESEUS 1.03 - User manual and reference - page 55
-----------------------------------------------------------------
modifier: OutDateMask
-----------------------------------------------------------------
abbreviation: ODM
expected value: Text
default value: www DD nnn yyyy
purpose: It sets the format of the date for
output.
comments: You may use the following mask
characters:
d day padded to left with zeroes
D day padded to left with spaces
m month padded to left with zeroes
M month padded to left with spaces
Y year
n month in text format
w day of week
examples:
date mask November 5 1992
dd-mm-yyyy 05-11-1992
DD-MM-yyyy 5-11-1992
mm/dd/yyyy 11/05/1992
MM/DD/yyyy 11/ 5/1992
mm/dd/yyyy 11/05/1992
mm/dd/yy 11/05/92
www DD nnn yyyy Thu 5 Nov 1992
WWW nnnnnnnn DD, yyyy THU November 5, 1992
WWWWWWWWW dd-nnn-yy THURSDAY 05-Nov-92
wwwwwwwww mm/dd/yy Thursday 11/05/92
-----------------------------------------------------------------
modifier: OutDirLen
-----------------------------------------------------------------
abbreviation: ODL
expected value: Number (0-9)
default value: 0
purpose: It modifies the directory Name lenght to
be padded.
-----------------------------------------------------------------
modifier: OutExtLen
-----------------------------------------------------------------
abbreviation: OEL
expected value: Number (0-3)
default value: 3
THESEUS 1.03 - User manual and reference - page 56
purpose: It modifies the file extension lenght to
be padded.
comments: Set to 0 if you need to use the file
extension in an external command.
-----------------------------------------------------------------
modifier: OutNameLen
-----------------------------------------------------------------
abbreviation: ONL
expected value: Number (0-9)
default value: 9
purpose: It modifies the file name lenght to be
padded.
comments: By default, the file name is padded to 9
spaces, and the extension follows without
the dot:
example: THESEUS ONL = 0 // OM="------$NA.$EX" // NA = *.*
will produce this output
1 2 3 4 5 6
123456789012345678901234567890123456789012345678901234567890
------NAME.EXT
-----------------------------------------------------------------
modifier: OutPathLen
-----------------------------------------------------------------
abbreviation: OPL
expected value: Number (0-64)
default value: 0
purpose: It modifies the path Name lenght to be
padded.
example: THESEUS OPL=50 OM ="$PA $NE $SZ" na=*.DOC
-----------------------------------------------------------------
modifier: OutCmpMask
-----------------------------------------------------------------
abbreviation: OCM
expected value: Text
default value: " $SZ $CZ $RA $DA $TI $CR $ZN"
THESEUS 1.03 - User manual and reference - page 57
comments: See above for a full explanation of mask
symbols.
THESEUS uses this mask to display the
files found into compressed archives.
The default compressed output mask is
expanded as follows:
1 2 3 4 5 6
12345678901234567890123456789012345678901234567890123456789012345
###,###,### ###,###,### ###% www mm/dd/yyyy hh:mmt --CRC--- NAME
1,234,567 345,678 72% Thu 11/05/1992 09:34p 2c5fe3ba NAME
example: THESEUS OCM=" $RA $ZN $AN"
1 2 3 4 5 6
123456789012345678901234567890123456789012345678901234567890
###% NAME.EXT D:\PATHNAME\NAME.EXT
45% HHHG.COM C:\DOS\DEVICES\LONGS\LONGNAME.ZIP
78% LONGNAM.EX C:\DOS\DEVICES\LONGS\LONGNAME.ZIP
-----------------------------------------------------------------
modifier: OutputMask
-----------------------------------------------------------------
abbreviation: OM
expected value: Text
default value: " $NA$EX $SZ $DA $TI $AT"
comments: See above for a full explanation of mask
symbols.
THESEUS uses this mask to display normal
(not compressed) files. The default
output mask is expanded as follows:
1 2 3 4 5 6
123456789012345678901234567890123456789012345678901234567890
NAME EXT ###,###,### www mm/dd/yyyy hh:mmt ------
LONGNAME EXT 1,234,567 Thu 11/05/1992 09:34p --A---
LONGNAM EX 1,234 Sun 11/01/1992 11:22a --A-H-
example: THESEUS OM=" $SZ $FN"
1 2 3 4 5 6
123456789012345678901234567890123456789012345678901234567890
###,###,### D:\PATHNAME\NAME.EXT
1,234,567 C:\DOS\DEVICES\LONGS\LONGNAME.EXT
1,234 C:\LONGNAM.EX
THESEUS 1.03 - User manual and reference - page 58
-----------------------------------------------------------------
modifier: OutputFile
-----------------------------------------------------------------
abbreviation: OF
expected value: Text
default value: (the standard output)
purpose: Sets the output file.
comments: By default, THESEUS shows the found files
onto the screen (standard output). You
can redirect this output, using the DOS
redirection operators ">" and "|", or you
can use the OutputFile modifier, that
will send the output of the program to a
given file, after the (optional)
explanation and before the (optional)
totals.
This command is useful when used in
conjunction with EndExec and EndExecD, if
you want to use the output of THESEUS for
a final execution.
OutputFile is available only with the
registered version.
You can refer to the output file with the
$OF mark.
WARNING: don't try to use the output file
with a command before the search is
finished. In this circumstance, when the
file is still open, you can meet stranges
results. You should use it only with the
EndExec or EndExecD modifiers.
example: ; script file copytod.TSF
SwitchOFF = osd
OutputFile = "save.bat"
OutputMask = "copy $FN d:\tmp1"
EndExecD = "call $OF"
date = @today and name NE save.bat
and at NE D
THESEUS @copytod.TSF
-----------------------------------------------------------------
modifier: OutSepDir
-----------------------------------------------------------------
abbreviation: OSD
expected value: No Value
default value: ON
THESEUS 1.03 - User manual and reference - page 59
purpose: It disallows separate display of the
directory name.
comments: When using this option, you should modify
the output mask, in order to make it
possible to display the path name and
the file name together:
example: THESEUS OSD OM="$SZ $DA $TI $AT $FN"
-----------------------------------------------------------------
modifier: OutSizeMask
-----------------------------------------------------------------
abbreviation: OSM
expected value: Text
default value: ###,###,###
purpose: It sets the format of the FileSize for
output.
comments: You can build a mask template with a
special character set:
# digit blank if not available.
* digit fill with asterisk if not
available.
@ digit fill with zero if not
available.
, decimal or separator comma.
. decimal or separator period.
example: THESEUS OSM = *##,###,### SZ GT 25000
THESEUS 1.03 - User manual and reference - page 60
-----------------------------------------------------------------
modifier: OutTimeMask
-----------------------------------------------------------------
abbreviation: OTM
expected value: Text
default value: HH:mmt
comments: It sets the format of the time for
output.
example:
hh:mm:ss 09:03:56 14:57:33
hh:mm 09:03 14:57
hh:mmt 09:03a 02:57p
hh:mmtm 09:03am 02:57pm
HH:MM:SS 9: 3:56 14:57:33
HH:MM 9: 3 14:57
HH:MMt 9: 3a 2:57p
HH:mmt 9:03a 2:57p
HH:mm te 9:03 am 2:57 pm
-----------------------------------------------------------------
modifier: Path
-----------------------------------------------------------------
abbreviation: PA
expected value: Text
default value: Root of Current drive
purpose: It sets the path where you want to
search.
comments: You can define one or more path, simply
by separating each path with a semicolon
(;), or entering multiple occurrences of
the PATH command.
Note that, if the given path does not
exist, the program will be halted.
examples: THESEUS PATH=C:\BC NAME=*.C
THESEUS PATH=C:\TP;D:\OPRO NAME=*.PAS
-----------------------------------------------------------------
modifier: PathExcl
-----------------------------------------------------------------
abbreviation: PX
expected value: Text
default value: none
THESEUS 1.03 - User manual and reference - page 61
purpose: It excludes one or more paths from the
search.
comments: You can define one or more paths, simply
by separating each path with a semicolon
(;)
examples: THESEUS PATH=\BC PATHEXCL=\BC\CLASSLIB NAME=*.LIB
THESEUS PATH=\TP;\OPRO PX=\TP\BGI;\OPRO\DEMO NAME=*.PAS
-----------------------------------------------------------------
modifier: Pause
-----------------------------------------------------------------
abbreviation: PAU
expected value: No Value
default value: OFF
purpose: It enables the program to stop the
display at the end of each video page.
comments: If you redirect the program output, the
Pause modifier is ignored.
example: THESEUS PAUSE name=*.asm;*.c;*.pas
-----------------------------------------------------------------
modifier: RecurseDir
-----------------------------------------------------------------
abbreviation: RD
expected value: No Value
default value: ON
purpose: It disallows the recursive search into
subdirectories.
comments: You may use this option when you want to
limit the search to a specified path
only.
example: THESEUS RD PATH =\bc\src;\tp\src name=*.asm;*.c;*.pas
THESEUS 1.03 - User manual and reference - page 62
-----------------------------------------------------------------
modifier: ReverseDir {1.01}
-----------------------------------------------------------------
abbreviation: RVD
expected value: No Value
default value: OFF
purpose: It inverts the way of the search into
subdirectories.
comments: Let's suppose you have the following
disk structure:
C:\ --+
|
+----+ BC
|
+----+ CLASSLIB
| |
| +------- EXAMPLES
| |
| +------- LIB
| |
| +------- INCLUDE
|
+---- SOURCES
|
+---- DEMOS
If you use a command such as
THESEUS PATH = \BC\CLASSLIB NAME=*.CPP
the program will process \BC\CLASSLIB and
its subdirectories (EXAMPLES, LIB,
INCLUDE).
Vice versa, declaring ReverseDir, THESEUS
will process \BC\CLASSLIB and its
ancestors (BC, C:\).
Note that no recursion is performed in
each subdirectory while processed.
ReverseDir change the behavior of PATH
and PATHEXCLUDE. When you exclude a path,
THESEUS will exclude the given path and
its descendants. Using ReverseDir, the
meaning is that it's excluded the given
path and its ancestors.
example:
THESEUS RVD PX=\bc PATH=\bc\classlib\examples name=*.asm
THESEUS will process the following
THESEUS 1.03 - User manual and reference - page 63
directories:
C:\BC\CLASSLIB\EXAMPLES (yes: scanned)
C:\BC\CLASSLIB (yes: scanned)
C:\BC (no: skipped)
C:\ (no: skipped)
THESEUS RVD PATH = \BC name=*.cpp
C:\BC (yes: scanned)
C:\ (yes: scanned)
THESEUS PATH = \BC name=*.cpp
C:\BC (yes: scanned)
C:\BC\CLASSLIB (yes: scanned)
C:\BC\CLASSLIB\EXAMPLES (yes: scanned)
C:\BC\CLASSLIB\LIB (yes: scanned)
C:\BC\CLASSLIB\INCLUDE (yes: scanned)
C:\BC\SOURCES (yes: scanned)
C:\BC\DEMOS (yes: scanned)
-----------------------------------------------------------------
modifier: Status
-----------------------------------------------------------------
abbreviation: ST
expected value: No Value
default value: OFF
purpose: Displays the value of all customizable
options of THESEUS.
comments: Using Status also enables the
explanaction modifier.
example: THESEUS ST PAUSE date=@today
-----------------------------------------------------------------
modifier: SwitchOFF
-----------------------------------------------------------------
abbreviation: OFF
expected value: Text
default value: none
purpose: Ensure that an ON-OFF modifier is
switched OFF.
comments: You can use SwitchOFF only with ON-OFF
modifiers, i.e. modifiers that accepts no
values.
You cannot use SwitchOFF with AllCmp and
AllDrives, because these modifiers are
THESEUS 1.03 - User manual and reference - page 64
shortcuts for acceding other commands.
SwitchOFF and SwitchON are available only
in the registered version.
example: THESEUS OFF=RD PA=@cp del na=*.bak
-----------------------------------------------------------------
modifier: SwitchON
-----------------------------------------------------------------
abbreviation: ON
expected value: Text
default value: none
purpose: Ensure that an ON-OFF modifier is
switched ON.
comments: See SwitchOFF.
example: THESEUS ON=RD del na=*.bak
-----------------------------------------------------------------
modifier: Totals
-----------------------------------------------------------------
abbreviation: TOT
expected value: No Value
default value: OFF
comments: It displays the number of all the files
searched and of the ones matching the
search condition.
example: See above.
-----------------------------------------------------------------
modifier: ZipExclude
-----------------------------------------------------------------
expected value: Text
abbreviation: ZX
default value: OFF
purpose: It excludes the ZIP file name(s) from the
scanning.
comments: You can define multiple names to exclude,
using a semicolon (;) to separate the
names, but only one occurrence of
ZIPEXCLUDE will be accepted in the
command line or in a script file.
You cannot use ZIPEXCLUDE without setting
THESEUS 1.03 - User manual and reference - page 65
ZIPSCAN or ZIPNAMES.
example: THESEUS ZIP ZX=ws*.zip date=@today
-----------------------------------------------------------------
modifier: ZipNames
-----------------------------------------------------------------
abbreviation: ZN
expected value: Text
default value: none
purpose: It sets the zip file name(s) to be
scanned.
comments: You can define multiple names to scan,
even .EXE files, using a semicolon (;) to
separate the names, but only one
occurrence of ZIPNAMES will be accepted
in the command line or in a script file.
See ZIPSCAN.
When ZN is set, it's superflous to use
ZIPSCAN.
example: THESEUS ZN=GM*.ZIP name=h*.doc
-----------------------------------------------------------------
modifier: ZipScan
-----------------------------------------------------------------
abbreviation: ZIP
expected value: No Value
default value: OFF
purpose: It enables THESEUS to search into archive
files compressed with PKZIP.
comments: All the files created by PKZIP can be
scanned, even if they are self-extracting
(use ZIPNAMES to set file name.) By
default, THESEUS scans *.ZIP.
THESEUS will return information about
compressed files like normal files, with
some exceptions:
- you can refer in the output mask the
complete compressed archive name as
$AN, the current size of a compressed
file as $CZ, and the compression ratio
as $RA;
- a special output mask will be used to
THESEUS 1.03 - User manual and reference - page 66
display compressed files. You may
modify this behavior with the
OutCmpMask modifier;
- each file into compressed archive can
be referred to as $NE (as well as
normal files) or $ZN (which returns the
full qualified file name, with the path
name, if present);
- the SEARCH identifier applied to a
compressed file, always returns FALSE,
and the SEARCH will not be performed;
- the DELETE modifier will not be applied
to compressed files. If you want, you
may use the EXEC modifier to invoke
PKZIP or similar programs in order to
perform the deletion.
examples: THESEUS ZIP name=MyLost.DOC
THESEUS ZIP CY EXEC="PKZIP.EXE -d $AN $NE" NA=*.BAK
THESEUS 1.03 - User manual and reference - page 67
Constants.
----------
-----------------------------------------------------------------
Constant: @0 , @1 , @2 ... @n
-----------------------------------------------------------------
abbreviation: <none>
value: A parameter in the command line.
comments: It is valid only if you are using a
script file.
@0 is the name of the script file.
@1 is the first parameter after script
file name, @2 is the second, and so on.
@& is the entire command line after the
file name.
examples:
1.
;MYSEARCH contains:
;---------------------
name = @1 AND search = @2
;
THESEUS @MYSEARCH *.doc "New York"
will be expanded as
THESEUS name = *.doc AND search = "New York"
2.
;MYSEARCH2 contains:
;---------------------
search = @&
;
THESEUS @MYSEARCH2 New York City
will be expanded as
THESEUS search = "New York City"
-----------------------------------------------------------------
Constant: @2DaysAgo
-----------------------------------------------------------------
abbreviation: @2DA
value: The current date -2
comments: The value of @2daysAgo may change, if you
set DAYSBACK more than 10 times (see
above.)
example: THESEUS DATE=@2DaysAGO
THESEUS 1.03 - User manual and reference - page 68
-----------------------------------------------------------------
Constant: @Black ... @White
-----------------------------------------------------------------
abbreviation: <none>
value: Color constants
@Black 0 @Blue 1
@Green 2 @Cyan 3
@Red 4 @Magenta 5
@Brown 6 @LtGray 7
@DarkGray 8 @LtBlue 9
@LtGreen 10 @LtCyan 11
@LtRed 12 @LtMagenta 13
@Yellow 14 @White 15
comments: Useful when you want to change the value
of color attributes for Dir, Files and
Explain display. See DirColF, DirColB,
FileColF, FileColB, ExplColF, ExplColB
and ColorOutput.
example: THESEUS DirColF=@LtRed name=*.fff
-----------------------------------------------------------------
Constant: @CurrentPath
-----------------------------------------------------------------
abbreviation: @CP
value: The current path
example: THESEUS PATH=@CURRENTPATH DEL name=*.OLD
-----------------------------------------------------------------
Constant: @Day
-----------------------------------------------------------------
abbreviation: @DD
value: The current day.
example: THESEUS DAY=@DAY
-----------------------------------------------------------------
Constant: @Midnight
-----------------------------------------------------------------
abbreviation: @MN
value: 12:00a
example: THESEUS time GE @midnight AND time LE @noon
THESEUS 1.03 - User manual and reference - page 69
-----------------------------------------------------------------
Constant: @Month
-----------------------------------------------------------------
abbreviation: @MM
value: The current month.
example: THESEUS MONTH=@MONTH
-----------------------------------------------------------------
Constant: @Noon
-----------------------------------------------------------------
abbreviation: @NN
value: 12:00p
example: THESEUS time GE @noon AND time LE @threepm
-----------------------------------------------------------------
Constant: @Now
-----------------------------------------------------------------
abbreviation: @NW
value: The current time.
example: THESEUS TIME LE @NOW
-----------------------------------------------------------------
Constant: @OneAM ... @TwelvePM
-----------------------------------------------------------------
abbreviation: <none>
value: The day times, from 1:00am to 12:00pm
example: THESEUS time GE @NineAM AND time LE @FourPM
-----------------------------------------------------------------
Constant: @OutCmpMask
-----------------------------------------------------------------
abbreviation: @OCM
value: " $SZ $CZ $RA $DA $TI $AT $ZN"
comments: This constant is useful when you want to
assign the value of the default Output
Compressed Mask to the normal Output
Mask.
Of course, you may define your own
favorite output mask for compressed or
normal file listings.
example: THESEUS FH OM=@OCM Zip date GE @2da
THESEUS 1.03 - User manual and reference - page 70
-----------------------------------------------------------------
Constant: @OutputMask
-----------------------------------------------------------------
abbreviation: @OM
value: " $NA$EX $SZ $DA $TI $AT"
comments: This constant is useful when you want to
assign the value of the default Output
Mask to the Output Compressed Mask.
Of course, you may define your own
favorite output mask for compressed or
normal file listings.
example: THESEUS FH OM="$FN" OCM=@OM Zip date GE @2da
-----------------------------------------------------------------
Constant: @TeaTime
-----------------------------------------------------------------
abbreviation: @TT
value: 05:00p
example: THESEUS Time GE @Noon AND Time LE @TeaTime
-----------------------------------------------------------------
Constant: @Today
-----------------------------------------------------------------
abbreviation: @TD
value: The current date
example: THESEUS DATE=@TODAY
-----------------------------------------------------------------
Constant: @WkDay
-----------------------------------------------------------------
abbreviation: @WD
value: The current day of the Week.
example: THESEUS WD=@WkDay
-----------------------------------------------------------------
Constant: @Year
-----------------------------------------------------------------
abbreviation: @YY
value: The current year.
example: THESEUS YEAR=@YEAR
THESEUS 1.03 - User manual and reference - page 71
-----------------------------------------------------------------
Constant: @Yesterday
-----------------------------------------------------------------
abbreviation: @YD
value: The current date -1
example: THESEUS DATE=@YESTERDAY
THESEUS 1.03 - User manual and reference - page 72
Index
=====
4dos 5 6 16 17 18 25 31
@2daysago 9 67
@black 10 50 68
@blue 10 50 68
@brown 10 68
@currentpath 6 9 18 68
@cyan 10 50 68
@darkgray 10 68
@day 9 68
@green 10 44 49 68
@ltblue 10 68
@ltcyan 10 68
@ltgray 10 50 68
@ltgreen 10 68
@ltmagenta 10 68
@ltred 10 44 68
@magenta 10 68
@midnight 9 68
@month 9 69
@noon 9 68 69 70
@now 9 69
@oneam 9 37 69
@outcmpmask 9 69
@outputmask 9 70
@red 10 44 68
@teatime 9 70
@today 3 4 9 14 16 23 47 58 63 65 70
@white 10 68
@wkday 9 70
@year 9 70
@yellow 10 68
@yesterday 9 71
abbreviation 11 27 28 29 30 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 67 68 69 70 71
abbreviations 11
action 13 14 15 21 40 46 47 54 63
actions 14 15 40
algorythm 35
allcmp 7 13 19 20 38 42 63
alldrives 7 13 38 45 46 63
arcexclude 7 13 19 38
arjexclude 7 13 19 39
archive 5 9 18 19 28 31 34 35 39 40 41 51 53 57
65 66
archiveonly 41
arcnames 7 13 19 28 39 42
arjnames 7 13 19 39
arcscan 7 13 19 38 39 42
arjscan 7 13 19 40
argument 15 16 31 41 48 49
arj 2 7 13 19 32 39 40
THESEUS 1.03 - User manual and reference - page 73
ascii 12 24 30
asterisk 59
attribute 3 7 9 11 27 31 42 68
autoexec 5
begexec 7 14 18 20 40 47
begexecd 7 14 18 20 40
begsearch 7 27
begsearchuc 7 27
cagliari 21
case 4 10 12 15 27 30 33 36
clone 7 14 16 19 20 21 41 43 44 45 47
cmponly 7 13 18 19 20 28 34 38 42
coloroutput 7 13 41 42 68
comma 2 3 4 5 6 10 12 14 15 16 17 18 21 24
25 26 29 31 40 43 45 46 47 48 49 52 56 58 59
60 62 64 65 67
command 2 3 4 5 6 10 14 15 16 17 18 21 24 25
26 29 31 40 43 45 46 47 48 49 52 56 58 60 62
64 65 67
complex 2 4 6 14 23
compound 11
compressed 2 9 19 20 28 31 34 35 39 40 41 42 51 53
57 65 66 69 70
comprcrc 7 27 28
comprsize 7 28 34
comspec 14
condition 3 7 9 10 11 13 14 15 16 17 18 20 21 23
25 26 29 30 33 35 36 49 54 64
conditional 9 15 17 18 21 23
config 5
confirm 2 7 28 29 45
constant 9 10 14 15 16 37 41 42 43 67 68 69 70 71
const 7 9 10 13 14 15 16 37 41 42 43 67 68 69
70 71
constchar 7 13 41 43
crc 7 9 27 28 31 52 57
customizing 19 41
date 2 3 4 7 8 9 13 14 23 29 31 37 41 43
47 48 52 55 58 63 65 67 69 70 71
day 2 3 4 5 7 9 13 14 16 23 29 30 32 37
41 43 47 55 58 63 65 67 68 69 70 71
daysago 9 43 67
daysback 7 13 41 43 67
decimal 12 24 28 35 59
default 7 12 13 16 19 20 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 69 70
defext 7 13 41 44
defscrname 7 13 41 45
delete 3 6 8 14 20 26 29 45 47 66
delimiter 23 24 30
dircolorb 8 13 42 44
dircolorf 8 13 42 44
disable 8 14 20 21 45 47
display 2 13 15 19 28 29 31 32 40 42 44 49 50 51
THESEUS 1.03 - User manual and reference - page 74
54 57 59 61 63 64 66 68
dos 2 3 4 5 6 10 14 16 17 18 19 24 25 31
33 48 51 57 58
drive 5 7 8 9 13 18 31 38 45 46 60 63
drivesexcl 8 13 38 46
enable 8 14 20 21 39 40 42 46 47 53 61 63 65
endname 7 30
endexec 8 14 18 20 47 58
endexecd 8 14 18 20 47 58
equal 9 24 25 29
errorlevel 17 18 30
espressions
esternals
example 5 11 12 14 17 23 24 26 27 28 29 30 31 32
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
63 64 65 66 67 68 69 70 71
exclude 3 7 8 13 19 38 39 46 53 61 62 64
exec 2 3 5 7 8 14 15 16 17 18 19 20 29 31
32 40 43 47 48 54 58 66
execd 3 7 8 14 17 18 20 40 47 48 58
execution 15 17 18 20 48 54 58
exernd 17
explain 8 14 16 18 21 41 42 48 49 68
explcolorb 8 13 42 49
explcolorf 8 13 42 50
expression 2 9 10 11 14 21 23 25 26 34 35
extern 1 7 17 18 19 20 21 30 31 32 48 56
externd 7 18 21 31 32 48
extension 8 16 17 31 33 34 36 41 44 56
filecolorb 8 13 42 50
filecolorf 8 13 42 50
fileheader 8 13 41 51
goto 8 14 17 51 54
greater 9 24 25
greaterequal 9
greaterthan 9
help 8 14 15 51 52
hexadecimal 12 24 28 35
identifier 7 9 11 14 15 17 20 27 28 29 30 31 32 33
34 35 36 37 41 45 47 51 66
indatemask 8 13 41 52
intimemask 8 13 41 52
joint 9 10 11 13 15 23 25 26
less 6 9 12 17 19 24 25 29 32 35 37 46
lessequal 9
lessthan 9
lha 18 19 34 53
lharc 18 19 34 53
license 1
lzh 2 8 13 19 28 38 41 42 53
lzhexcl 8 13 19 53
lzhexclude 8 13 19 53
lzhfile 41
lzhnames 8 13 19 42 53
THESEUS 1.03 - User manual and reference - page 75
lzhscan 8 13 19 28 38 41 42 53
modifier 7 9 10 11 13 15 16 17 19 20 21 26 28 34
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
53 54 55 56 57 58 59 60 61 62 63 64 65 66
month 2 5 7 9 29 30 32 37 55 69
name 2 3 5 6 7 8 9 10 11 13 14 15 16 17
18 19 20 23 26 28 29 30 31 33 34 35 36 38 39
40 41 42 43 44 45 46 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66 67 68
namecont 7 30 33
namelen 7 8 13 18 34 41 56
noshow 8 14 41 54
notequal 9 29
now 1 2 4 6 9 12 17 19 21 32 35 48 69
number 3 4 7 8 12 14 15 28 29 32 34 36 37 43
54 55 56 64
operator 7 9 11 13 15 24 25 27 28 29 30 32 33 34
35 36 37 58
outcmpmask 8 9 13 19 41 56 66 69
outdatemask 8 13 41 52 55
outdirlen 8 13 41 55
outextlen 8 13 18 41 55
outnamelen 8 13 18 41 56
outpathlen 8 13 41 56
outputmask 8 9 13 41 57 58 70
outputfile 8 13 18 58
outsepdir 8 13 41 51 58
outsizemask 8 13 41 59
outtimemask 8 13 41 52 60
parentheses 9 11 13 23
path 3 4 5 6 8 9 13 14 16 17 18 31 33 36
38 41 46 48 51 54 56 57 59 60 61 62 63 66 68
pathexcl 8 13 46 60 61 62
pause 4 8 14 61 63
period 1 59
pklite 41
pkzip 3 4 19 47 65 66
precedence 13 23
quotes 23
ratio 1 7 9 34 42 51 65
recursedir 5 8 14 61
redirection 24 26 31 58
registration 1
requirements 2
reversedir 8 14 62
resident 32
script 2 14 15 16 17 18 20 24 25 29 41 43 44 45
49 51 52 58 64 65 67
search 2 3 4 5 7 11 12 13 14 16 18 19 20 21
23 24 27 28 29 30 32 33 34 35 36 37 38 39 40
41 42 43 46 47 48 49 53 54 58 60 61 62 64 65
66 67
searchuc 7 27 36
semicolon 5 33 36 46 51 60 61 64 65
shortnames 15
THESEUS 1.03 - User manual and reference - page 76
soundex 7 36
status 8 14 20 63
stopping 15
switchon 8 14 64
switchoff 8 14 58 63 64
symbol 14 23 24 26 57
syntax 10
theseus 1 2 3 4 5 6 7 10 12 15 16 17 18 19
20 21 23 24 26 27 28 29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 56 57 58 59 60 61 62 63 64 65 66 67
68 69 70 71
time 2 4 6 7 8 9 13 14 15 21 31 37 41 52
60 67 68 69 70
today 3 4 9 14 16 23 47 58 63 65 70
totals 5 8 14 16 18 41 54 58 64
tsr 32
value 3 7 8 9 10 11 12 13 14 20 23 24 27 28
29 30 32 33 34 35 36 37 38 39 40 41 42 43 44
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 67 68 69 70 71
wildchars 33
year 2 7 9 29 32 37 55 70
yesterday 9 71
zip 2 3 4 6 8 13 18 19 28 33 34 35 38 39
40 41 42 47 51 53 57 64 65 66 69 70
zipexclude 8 13 19 38 39 53 64
zipfile 41
zipnames 8 13 19 39 40 42 53 65
zipscan 8 13 18 19 28 38 39 40 41 42 53 65